一起学习
我是一个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();
}
}
思路是否正确,这道题应该怎么写?
下载本文示例代码
关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题关于输入输出流的一个问题
阅读(653) | 评论(0) | 转发(0) |