黑马程序员技术交流社区
标题:
【已解决】流自动刷新功能的问题
[打印本页]
作者:
黄树人
时间:
2012-8-27 22:48
标题:
【已解决】流自动刷新功能的问题
本帖最后由 黄树人 于 2012-8-28 00:02 编辑
public class PrintWriterDemo {
public static void main(String[] args) throws IOException {
method();
}
private static void method() throws IOException {
PrintWriter pw = new PrintWriter(new FileOutputStream("a.txt"),true);
pw.print("helloworld");
}
}
复制代码
打印流PrintWriter有提供自动刷新的功能 PrintWriter(OutputStream out, boolean autoFlush)
所以按理上面程序不加pw.close();,应该也可以把helloworld写入 a.txt中啊
可是运行完程序,a.txt中神马都木有啊,求解
作者:
贾成龙
时间:
2012-8-27 22:52
有自动刷新功能。但是,需要开启自动刷新,并且只有在println,printf,format方法的时候有效。
public class PrintWriterDemo {
public static void main(String[] args) throws IOException {
method();
}
private static void method() throws IOException {
PrintWriter pw = new PrintWriter(new FileOutputStream("a.txt"),true);
pw.println("helloworld");
}
希望对你有帮助!
作者:
追梦黑马
时间:
2012-8-27 23:01
不加close() 需要调用flush()刷新
package com.ruantong.intrew.bank;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
public class PrintWriterDemo {
public static void main(String[] args) throws IOException {
method();
}
private static void method() throws IOException {
PrintWriter pw = new PrintWriter(new FileOutputStream("F:/a.txt"),true);
pw.print("helloworld");
pw.flush();//不加close() 需要调用flush()刷新 }
}
作者:
王金科
时间:
2012-8-27 23:01
你少了ln
pw.print("helloworld");
这句应该写成 pw.println("helloworld");才会自动刷新
作者:
追梦黑马
时间:
2012-8-27 23:01
版主大人看到给分哦
作者:
唐见
时间:
2012-8-27 23:42
将pw.print("helloworld");改成 pw.println("helloworld");
在附上JDK关于该类的说明:
向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。
与 PrintStream 类不同,如果启用了自动刷新,则只有在调用 println、printf 或 format 的其中一个方法时才可能完成此操作,而不是每当正好输出换行符时才完成。这些方法使用平台自有的行分隔符概念,而不是换行符。
public PrintWriter(OutputStream out,boolean autoFlush)
参数:
out - 输出流
autoFlush - boolean 变量;如果为 true,则 println、printf 或 format 方法将刷新输出缓冲区
作者:
王自强
时间:
2012-8-28 00:00
你的pw.print("helloworld");要改成pw.println("helloworld");
或者pw.print("helloworld");pw.flush();
或者pw.print("helloworld");pw.close();
打印流PrintWriter是有提供自动刷新的功能
但是只有在调用println()、printf()、format()方法的 时候自动刷新。
作者:
杨卓儒
时间:
2012-8-28 00:09
println()、printf()、format()。牢记这3
作者:
追梦黑马
时间:
2012-8-28 11:08
追梦黑马 发表于 2012-8-27 23:01
不加close() 需要调用flush()刷新
谢谢提醒 我说我回答那么多问题 怎么没反应呢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2