工作小驿

Ninja!

BlogJava 首页 新随笔 联系 聚合 管理
  103 Posts :: 0 Stories :: 36 Comments :: 0 Trackbacks
我是一个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();

}
}
思路是否正确,这道题应该怎么写?
posted on 2007-09-24 08:18 王君 阅读(381) 评论(1)  编辑  收藏 所属分类: J2SE

Feedback

# re: 关于输入输出流的一个问题 2007-09-27 19:29 千里冰封
你用BufferedReader就更方便了  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: