Java 中向文件里写入的数据怎么不显示啊!??

将test.txt中的内容写入after.txt中,并添加行号我的程序如下,可是执行后after.txt中拨那个没有数据啊?求高手帮帮忙啊!!!test.txt中的内容是... 将test.txt中的内容写入after.txt中,并添加行号我的程序如下,可是执行后after.txt中拨那个没有数据啊?求高手帮帮忙啊!!!test.txt中的内容是:12345
你好啊
bye
云中飞马import java.io.*;
public class FileExample {
public static void main(String[] args) throws IOException{
File f = new File("test.txt");
FileReader fr = new FileReader(f);
BufferedReader br=new BufferedReader(fr);
String data=null;
int i=1;
while((data=br.readLine())!=null){
System.out.println(i+"."+data);
i=i+1;
}
FileWriter fw;
fw = new FileWriter("after.txt");
BufferedWriter bw=new BufferedWriter(fw);
String temp=null;
while((temp=br.readLine())!=null){
bw.write(i+"."+temp+"\n");
i++;
}

fw.close();
}
}
展开
 我来答
匿名用户
2013-08-03
展开全部
你的设计思想有问题,在br读文件的时候,会对把文件锁起来,这时bw是不能获得写入文件的权利的,当然是写不进任何数据了。把读出来的数据放在数组里就行了。import java.io.*;
import java.util.LinkedList;
public class FileExample {
public static void main(String[] args) throws IOException{
LinkedList list=new LinkedList<String>();
File f = new File("test.txt");
FileReader fr = new FileReader(f);
BufferedReader br=new BufferedReader(fr);
String data=null;
int i=1;
while((data=br.readLine())!=null){
System.out.println(i+"."+data);
list.add(data);
i=i+1;
}
FileWriter fw;
fw = new FileWriter("after.txt");
BufferedWriter bw=new BufferedWriter(fw);
String temp=null;
/*while((temp=br.readLine())!=null){
bw.write(i+"."+temp+"\n");
i++;
}*/
for(int j=0;j<list.size();j++){
bw.write(j+"."+(String)list.get(j)+"\n");
}
bw.flush();
fw.close();
}
}
bw写文件时要刷新缓冲区
匿名用户
推荐于2018-04-11
展开全部
哎呀,被你郁闷了一下下,其实理由很简单,因为你上面打印的代码已经读完了test.txt文件了,再读没有东西了,所以只要去掉那部分就可以了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-03
展开全部
貌似不是楼上所说的原因啊,运行还是不得额!我也没看出什么原因,应该是从控制台输出和写入文件中哪儿有区别吧!下面是我写的一段复制文件的代码,给你参考下!import java.io.IOException;
import java.io.FileReader;
import java.io.FileWriter;public class aa
{
public static void main(String args[ ])
{
try
{

FileReader f_in= new FileReader("a.txt");
FileWriter f_out= new FileWriter("x.txt");
for (int c=f_in.read( ); c!=-1; c=f_in.read( )){

f_out.write((char)c);

}
f_out.close( );

f_in.close( );
}
catch (IOException e)
{
System.err.println("发生异常:" + e);
e.printStackTrace( );
} // try-catch结构结束
} // 方法main结束
} // 类J_FileReaderWriter结束
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式