Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1442010
  • 博文数量: 3500
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 43870
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-03 20:31
文章分类

全部博文(3500)

文章存档

2008年(3500)

我的朋友

分类:

2008-05-04 23:44:43

一起学习
我是一个java初学者碰到一些小问题,希望前辈们给我解答一下,谢谢! 原题目: 编写应用程序,利用缓冲输入流BufferedInputStream 从键盘输入字符串,当输入的字符串为“exit”时结束输入,将输入的所有字符串存放到 my file.txt中。 编写应用程序,读出“my file.txt”的内容,并将读出的内容输出到屏幕上,读文件结束后,显示“Finished reading,programe ended.”. 代码: import java.io.*; public class Ex3 { public static void main(String[]args)throws Exception { BufferedInputStream bis=new BufferedInputStream(System.in); FileWriter fw=new FileWriter("my file.txt"); while(true) { byte[]b=new byte[200]; int len=bis.read(b); String str=new String(b,0,len-2); if(str.equals("exit")) { System.exit(0); } fw.write(str); fw.flush(); } } } 上面的代码中为什么String str=new String(b,0,len-2);这个方法的参数最后一个要用 len-2?尝试过len或者len-1,结果会将exit也写入文件,len-1还有回车操作符,不明白。 试写的代码: import java.io.*; public class Ex4 { public static void main(String[]args)throws Exception { FileReader fr=new FileReader("my file.txt"); FileOutputStream fos=new FileOutputStream("my file.txt"); int c; byte b[]=new byte[200]; int len=fr.read(); while((c=fr.read())!=-1) { fos.write(b); } System.out.print("Finished reading,programe ended."); fr.close(); fos.close(); } } 思路是否正确,这道题应该怎么写? 下载本文示例代码


关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题
阅读(631) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~