关于输入输出流的一个问题

我是一个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(); } } 思路是否正确,这道题应该怎么写? <淘宝热门商品:
 

 

丑丑靓坊 丽君百合减肥胶囊淘宝唯一授权店铺

 

 

【北京商盟】风の轩杂货铺 小美贵族瘦身

来源:程序员网

小小豆叮

0 Responses to "关于输入输出流的一个问题"

发表评论