java - 如何在 MacOS X 10.10.5 下使用带有 Java 6 的 PrintWriter 来禁用缓冲?

标签 java macos eclipse-kepler

我在 MacOS X 10.10.5 下使用带有 Eclipse Kepler 的 Java 编译器 v6.0 来支持 Java PrintWriter 命令的 autoFlush 选项时遇到问题。如果我提供一个 boolean 值来启用“autoFlush”,根据 Java 6.0 的 Java 文档,Eclipse 会声称它是非法参数。然而,当我在 Eclipse 下验证编译器设置时,它确实显示编译器兼容级别为 Java 1.6.0。那么,为什么 Eclipse 或编译器无法识别“autoFlush”的 boolean 参数呢?

这是代码:

DrawingPanel.logFile = new PrintWriter("LogFile.txt", true); <-- Eclipse does not like the "true" argument.  

可能出了什么问题?

最佳答案

PrintWriter有 8 个构造函数:

PrintWriter(File file)
PrintWriter(File file, String csn)
PrintWriter(OutputStream out)
PrintWriter(OutputStream out, boolean autoFlush)
PrintWriter(String fileName)
PrintWriter(String fileName, String csn)
PrintWriter(Writer out)
PrintWriter(Writer out, boolean autoFlush)

只有 OutputStreamWriter 版本有 autoFlush 第二个参数。编译器正确地提示您的第二个参数不是 String

您应该使用:

DrawingPanel.logFile = new PrintWriter(new FileWriter("LogFile.txt"), true)

关于java - 如何在 MacOS X 10.10.5 下使用带有 Java 6 的 PrintWriter 来禁用缓冲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33863219/

相关文章:

java - java实现文件图标叠加的方法,比如turtoisesvn或者dropbox

macos - 通过命令行在 macOS 上打开 URL

c++ - 在 Mac 上用 C++ 打印图像

java - Eclipse:java.lang.OutOfMemoryError: PermGen 空间

java - 如何从 Eclipse Kepler 中删除 EGIT?

java - 无法安装新软件/检查更新 eclipse

java - java oauth 2.0 插件编译失败的 Google+ 快速入门

frameworks - JavaBeans激活框架: is it worth learning?

java - Sax 解析器在将 Html 解析为字符串时卡住

objective-c - 加载 dylib 时垃圾收集工作队列崩溃