求详细解释 我自己理解的不知道对不对
import java.io.*;
class SystemoutDemo
{
public static void main(String[] args) throws
IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("out.txt")));
String str=null;
while((str=br.readLine())!=null)
{
if(str.equals("over"))
break;
bw.write(str);
bw.newLine();
bw.flush();
}
}
}
------解决方案--------------------package resources;
import java.io.*;
class SystemoutDemo {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//从控制台输入,并用装饰类BufferedReader修饰
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("c:\\out.txt")));//准备写入的文件路径,使用BufferedWriter装饰
String str = null;
while ((str = br.readLine()) != null) {
if (str.equals("over"))//如果输入的字符是“over” break;//结束控制台输入,跳出循环
bw.write(str);//写入文件
bw.newLine();
bw.flush();
}
bw.close();//关闭输出流
br.close();//关闭输入流
}
}
------解决方案--------------------
因为BufferedRead有个readLine()方法,直接读一行方便啊,还可以解决输入中文乱码的问题
存入out.txt中用的还是字节流BufferedWriter,哪转换成字节流了。。
------解决方案--------------------
不使用BufferedRead,你怎么行读取?InputStreamReader有readLine方法吗?
------解决方案--------------------其实你是使用缓冲流将基本流包装了下!
使用缓冲流的好处是,能够更高效的读写信息,原理是将数据先缓冲起来,然后一起写入或者读取出来,而不是一个一个字节写入或者读取!