Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对CSVPrinter对象调用close()两次_Java - Fatal编程技术网

Java 对CSVPrinter对象调用close()两次

Java 对CSVPrinter对象调用close()两次,java,Java,对已关闭的CSVPrinter实例调用close()是否为不可操作?那flush()呢?找不到关于此的任何文档 对已关闭的CSVPrinter实例调用close()是否为不可操作 Closable的标准约定是调用close()是幂等的。CSVPrinter类实现了Closeable 找不到关于此的任何文档 它位于for可关闭的中 那flush()呢 不清楚你在问什么 调用flush() 在关闭的对象上调用flush()是多余的,在调用close()之前调用flush()也是多余的。(如有必要,

对已关闭的CSVPrinter实例调用close()是否为不可操作?那flush()呢?找不到关于此的任何文档

对已关闭的CSVPrinter实例调用close()是否为不可操作

Closable
的标准约定是调用
close()
是幂等的。
CSVPrinter
类实现了
Closeable

找不到关于此的任何文档

它位于for
可关闭的

那flush()呢

不清楚你在问什么

  • 调用
    flush()

  • 在关闭的对象上调用
    flush()
    是多余的,在调用
    close()
    之前调用
    flush()
    也是多余的。(如有必要,A
    close()
    将尝试刷新。)

flush()
行为的通用规范没有说明在刷新封闭流时应该发生什么。在
CSVPrinter
的情况下,
flush()
委托给打印机正在包装的
可追加的
。因此,无法指定关闭打印机上的
CSVPrinter.flush()
行为

但是考虑到不确定性,简单的解决方案是在
close()
之前不要调用
flush()
。只有在您不打算关闭并且迫切需要推送数据时才刷新。。。现在

(不必要的刷新否定了缓冲在Java空间和内核I/O堆栈中的性能优势。)

对已关闭的CSVPrinter实例调用close()是否为不可操作

Closable
的标准约定是调用
close()
是幂等的。
CSVPrinter
类实现了
Closeable

找不到关于此的任何文档

它位于for
可关闭的

那flush()呢

不清楚你在问什么

  • 调用
    flush()

  • 在关闭的对象上调用
    flush()
    是多余的,在调用
    close()
    之前调用
    flush()
    也是多余的。(如有必要,A
    close()
    将尝试刷新。)

flush()
行为的通用规范没有说明在刷新封闭流时应该发生什么。在
CSVPrinter
的情况下,
flush()
委托给打印机正在包装的
可追加的
。因此,无法指定关闭打印机上的
CSVPrinter.flush()
行为

但是考虑到不确定性,简单的解决方案是在
close()
之前不要调用
flush()
。只有在您不打算关闭并且迫切需要推送数据时才刷新。。。现在


(在Java空间和内核的I/O堆栈中,不必要的刷新否定了缓冲的性能优势。)

为什么不尝试一下呢?我想尝试一下比在这里询问要花更少的时间。@ScaryWombat尝试并不能证明什么。它可能有时工作,有时失败。Stephen C的回答是正确的-只需查看已实现接口的文档。有时我希望有一个选项来否决评论:-)为什么不试试?我想试试比在这里提问要花更少的时间。@ScaryWombat尝试并不能证明什么。它可能有时工作,有时失败。Stephen C回答是正确的-只需查看已实现接口的文档。有时我希望有一个选项来否决注释:-)
flush
在封闭对象上可能会失败(不确定
CSVPrinter
的特定实现,但
Flushable
的其他实现可能会失败)。我的意思是:-)关闭对象上的
flush
可能会失败(不确定
CSVPrinter
的特定实现,但
Flushable
的其他实现可能会失败)。我的意思是:-)