Java中的自动行刷新,加不加true有什么区别?不加true也照样换行吧?这个true有什么用? 5

publicstaticvoidmain(String[]args)throwsFileNotFoundException,UnsupportedEncodingExce... public static void main(String[] args) throws FileNotFoundException,
UnsupportedEncodingException {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入文件名:");
String name = scanner.nextLine();

FileOutputStream fos = new FileOutputStream(name);
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
PrintWriter pw = new PrintWriter(osw,true);
System.out.println("请输入内容:");
String line = null;
while (true) {
line = scanner.nextLine();
if ("ex".equals(line)) {
break;

}
pw.println(line);
pw.flush();

}

System.out.println("再见");
pw.close();

}
展开
 我来答
本分随缘晶
2019-04-28
知道答主
回答量:2
采纳率:0%
帮助的人:1456
展开全部
1、加true之后,pw.println(line);会直接把数据立即写入文件,不需要pw.flush();,并且只认println、printf 或 format 的其中一个方法,不认换行符作为刷新标志了。
2、不加true那就得写pw.flush();来将数据立即写入文件。
3、这个程序中,两种方案都用上了,保险。
扰龙星剑Mu
2016-07-04 · TA获得超过1994个赞
知道小有建树答主
回答量:910
采纳率:50%
帮助的人:357万
展开全部
可以把while条件中的true不加的话会报错,因为while条件必须要有boolean类型值,加true的效果是一直循环下去,知道满足line等于ex,才退出该循环
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laohuanghuang8
2018-05-07
知道答主
回答量:1
采纳率:0%
帮助的人:876
展开全部
再没有刷新前,你写入的数据并没有真正写入文件,只是保存在内存中。刷新后才会写入文件,如果程序中没有调用刷新方法,当程序执行完时会自动刷新,也就是只有到数据全部执行完才会一次性写入,大数据量时对运行效率有影响。

创建不具有自动行刷新的对象,就是用这个对象写入数据时不会自动刷新
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式