JAVA 中BufferedReader 问题 文件内容在新文件中没有

/***演示缓冲字符流案例*/packageIO_6;importjava.io.*;publicclassIO_6{publicstaticvoidmain(Strin... /**
* 演示缓冲字符流案例
*/
package IO_6;
import java.io.*;
public class IO_6 {

public static void main(String[] args) {
// TODO Auto-generated method stub
BufferedReader br=null;
BufferedWriter bw=null;
try {
FileReader fr=new FileReader("g:/2.txt");
br=new BufferedReader(fr);
FileWriter fw=new FileWriter("d:/演示缓冲字符流案例.txt");
bw=new BufferedWriter(fw);
String s="";
int n=0;
while((s=br.readLine())!=null)
{
bw.write(s);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
展开
 我来答
strreamlet
2012-04-08 · TA获得超过222个赞
知道答主
回答量:116
采纳率:0%
帮助的人:49.9万
展开全部
import java.io.*;
import java.util.Date;

public class Test {

public static void main(String[] args) {
// TODO Auto-generated method stub
BufferedReader br=null;
BufferedWriter bw=null;
try {
FileReader fr=new FileReader("D:/test.java");
br=new BufferedReader(fr);
FileWriter fw=new FileWriter("d:/aa.txt");

bw=new BufferedWriter(fw);
/*BufferedWriter(Writer out, int sz); 创建一个使用给定大小输出缓冲区的新缓冲字符输出流。*/
String s="";
int n=0;
while((s=br.readLine())!=null)
{
bw.write(s);
bw.flush();//flush是刷新该流的缓冲,就是将缓冲区里的内容全部刷出去,写到文件里面去。如果你不调用此方法,等到缓冲满时,系统自动会调用。每次都调用一次达不到缓冲的目的
}
bw.flush();//再这里调用就非常合适,这样的话缓冲里的内容就全部写到文件里去了。
bw.close();//然后再关掉流,这是一个习惯.当然你close()的时候,系统也会调flush().
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tanzhangwen
2012-04-08 · TA获得超过1136个赞
知道小有建树答主
回答量:499
采纳率:0%
帮助的人:852万
展开全部
确实close();后才能够写入数据流 学习了~
//package IO_6;
import java.io.*;
public class Sum {

public static void main(String[] args) {
// TODO Auto-generated method stub
BufferedReader br=null;
BufferedWriter bw=null;
try {
FileReader fr=new FileReader("g:/2.txt");
br=new BufferedReader(fr);
FileWriter fw=new FileWriter("d:/演示缓冲字符流案例.txt");

bw=new BufferedWriter(fw);
String s="";
int n=0;
while((s=br.readLine())!=null)
{
bw.write(s);
}
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bf6186d
2012-04-08 · 超过35用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:95.9万
展开全部
使用缓冲区对文件进行操作必须关闭流,数据才会被写入。。所以此处在你的while循环后面加入语句:bw.close();即可。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式