java编写记事本保存功能,保存后有文档,但是文档里面没内容,这是为什么?具体代码在底下

publicvoidactionPerformed(ActionEvente){JFileChooserchooser=newJFileChooser();//choos... public void actionPerformed(ActionEvent e)
{
JFileChooser chooser = new JFileChooser();
//chooser.setCurrentDirectory(new File(".")); //设置当前目录
//chooser.setMultiSelectionEnabled(true); //设置允许用户在对话框中选择多个文件
chooser.showSaveDialog(TextEdit.this);
try
{
File goal = chooser.getSelectedFile();
setTitle(goal.getName());
FileWriter goalFile = new FileWriter(goal); //用于写入字符文件
BufferedWriter goalBuffered = new BufferedWriter(goalFile); //将文本写入字符输出流
goalBuffered.write(textArea.getText());
goalFile.close();
goalBuffered.close();
}
catch(IOException e2)
{
e2.printStackTrace();
}
}
展开
 我来答
匿名用户
2017-11-13
展开全部
goalFile.close();
goalBuffered.close();
这两行的顺序,对调一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝风水晶灵
2014-06-17 · TA获得超过934个赞
知道小有建树答主
回答量:731
采纳率:0%
帮助的人:434万
展开全部
去掉goalFile.close();
更多追问追答
追问
可以了!可以简单地讲一下为什么吗?还有保存的文档怎么实现换行?我可以加分
追答
1、BufferedWriter goalBuffered = new BufferedWriter(goalFile); 

BufferedWriter只是个包装类,你传入了goalFile,那么goalFile.close()和goalBuffered.close()关闭的是同一个输入流也就是:FileWriter goalFile = new FileWriter(goal);

BufferedWriter关闭时应该会判断流是否关闭,
并且BufferedWriter的close之前是会刷新缓冲区的,
如果前面goalFile.close()了,后面再goalBuffered.close()是没执行的,自然也就没刷新缓冲区。

2、写入换行符 \n,如果不行就写入与平台相关的换行符,获取方式:System.getPropertie("line.separator");
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式