java - PrintStream 对象的 checkError() 方法在什么条件下返回 true?

标签 java io printstream

正如 JAVA 文档中给出的那样,每当出现 java.io.IOException 时,变量“trouble”就会设置为 true。我写了一个程序:

import java.io.*;
class First
{
        public static void main(String[] args) throws Exception
        {
                File f = new File("a.txt");
                PrintStream ps = new PrintStream(f);
                f.delete();
                ps.write(65);
                boolean b = ps.checkError();
                System.out.println(b); //Output: false
                ps.close();
        }
}

即使我在写入之前删除了文件,为什么 checkError() 方法没有返回 true?请举例说明当变量 'trouble' 设置为 true 并且 checkError() 方法返回 true 时。

最佳答案

根据JavaDoc :

checkError returns true if and only if this stream has encountered an IOException other than InterruptedIOException, or the setError method has been invoked.

关于java - PrintStream 对象的 checkError() 方法在什么条件下返回 true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40019942/

相关文章:

java - 在 Jigloo 中设置 Image 时出现 IllegalArgumentException

java - 验证 CXF HttpAsyncClient 对 use.async.http.conduit 上下文属性的使用

c - WriteFile 与 IO 完成端口问题

java - 在Java中,PrintStream如何最终将文本打印到控制台?

java - 将 System.out 重定向到 JavaFX 中的 TextArea

java - 将 void 方法的结果捕获到输出文件中

java - 在非组件对象上使用 Spring @Value

c++ - 如何在 C++ 中执行跨平台异步文件 I/O

java - 在基于 TDD 的单元测试中处理 I/O

java - 找不到 Integer.parseInt() 的符号错误