我用java的filewriter 发现写不了字符串进文件里,但又没有报错

Stringdir=f.getAbsolutePath();dir=dir.substring(0,dir.length()-4)+"_1.txt";Filefn=new... String dir= f.getAbsolutePath();
dir= dir.substring(0, dir.length()-4)+"_1.txt";
File fn= new File(dir);
try{
FileWriter out= new FileWriter(fn);
for(int p=0;p<text.size();p++){
String s=text.get(p);
out.write(s);
}
}catch(IOException e3){
textArea.append("生成密钥出错:"+e3+'\n');
}
在控制台输出是没问题的,文件也已经生成了
展开
 我来答
zxy_wow
推荐于2017-11-25
知道答主
回答量:8
采纳率:0%
帮助的人:3.6万
展开全部
你没刷新流,你用FileWriter创建来一个输出流对象out,out.write(s)是把字符串s输进了流里,并没有输出到文件中,你必须调用out.flush()方法讲流中数据冲进目标文件,注意,io流用完后要记得用close()方法关闭,否则将有意想不到的麻烦,另外close()方法也具有flush()的作用。
hezhuming123
2012-12-28 · TA获得超过170个赞
知道答主
回答量:89
采纳率:0%
帮助的人:62.3万
展开全部
你好,因为是字符流所以要刷新,写一次后刷一次,在out.write(s);下面在写一行out.flush();
最后记得关闭流。out.close();

如果满意,请采纳,谢谢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lmy_sk521
2012-12-27 · TA获得超过2272个赞
知道小有建树答主
回答量:1330
采纳率:73%
帮助的人:724万
展开全部
String dir= f.getAbsolutePath();
dir= dir.substring(0, dir.length()-4)+"_1.txt";
File fn= new File(dir);
try{
FileWriter out= new FileWriter(fn);
for(int p=0;p<text.size();p++){
String s=text.get(p);
out.write(s);
}
out.flush();
}catch(IOException e3){
textArea.append("生成密钥出错:"+e3+'\n');
}finally{
if(out != null){
out.close();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式