11得票2回答
使用Files.newBufferedReader()和直接构建读取器读取文件得到的结果不同

似乎Files.newBufferedReader()对UTF-8比单纯的替代方法更加严格。 如果我使用一个单独的字节128创建文件——因此不是有效的UTF-8字符——如果我构建一个InputStreamReader的BufferedReader在Files.newInputStream()...

11得票2回答
如何清洁地关闭异步套接字通道(AsynchronousSocketChannel)?

我的服务器使用一个 AsynchronousServerSocketChannel 来监听客户端连接,并使用一个 CompletionHandler。当一个客户端连接被接受时,AsynchronousSocketChannel 被读取,并再次使用一个 CompletionHandler 接收数...

11得票2回答
Java NIO2 异步套接字通道/异步服务器套接字通道和 TLS/SSL

在互联网上所有的 NIO2 的来源/示例都没有TLS/SSL支持,我理解 SSLEngine 连接生命周期与 AsynchronousSocketChannel.connect && AsynchronousServerSocketChannel.accept 不同。TLS/SSL应该封装在A...

10得票2回答
这是Java 7中的一个差一错误吗?

我不知道在哪里寻求Java API文档和Java代码的澄清和确认,所以我在这里进行了操作。 在FileChannel的API文档中,我发现在文件position和文件size方面存在比一个更多的偏移量错误。 这里只是一个例子。 transferFrom(...)的API文档说明: ...

9得票2回答
Java I/O:在任何读写操作之前确保文件未被其他进程锁定

我在使用Java 7 WatchService API跟踪目录中文件内容的应用程序中遇到了一个反复出现的问题。当底层文件系统在文件上触发修改事件时,我想立即计算其SHA-256。 但经常出现另一个进程打开了该文件(例如Word),从而持有独占锁,防止我的应用程序进行任何读/写操作。如果针对已...

9得票2回答
WatchService 有时会触发两次,有时只触发一次 ENTRY_MODIFY。

我正在使用来自Oracle的WatchService示例: import java.nio.file.*; import static java.nio.file.StandardWatchEventKinds.*; import static java.nio.file.LinkOptio...

9得票2回答
将非常大的文本文件按最大行数拆分

我希望将一个包含字符串的巨大文件拆分成一组新的(较小)文件,并尝试使用nio2。我不想把整个文件加载到内存中,所以我用BufferedReader尝试了一下。这些较小的文本文件应该由文本行数限制。这个解决方案是可行的,但我想问一下是否有人知道更好的性能解决方案,可以使用Java 8(也许是la...

9得票4回答
在Java 6中使用Java 7 SDK特性

我希望在Java 7 SDK中使用一些NIO2功能,如果可用的话(具体来说是文件系统监视器),但我不想为Java 7编译我的类并排除Java 6运行时。主要是因为我想保持与Mac OS X的兼容性,也因为我不想强制用户升级。 这是否可能?最好的方法是什么?有任何链接或示例吗? 以下是我可以...

9得票4回答
Java7 nio2有哪些可用的内存文件系统实现?

我正在寻找内存nio2文件系统实现,以便更轻松地测试我的IO相关代码。 在我的JDK中,似乎Java只提供了一个Win32FileSystem和一个ZipFileSystem。 ShrinkWrap似乎有这种东西,但似乎主要处理ZIP文件系统或其他类似的内容。 我猜到目前为止,你们中的一...

8得票3回答
Java 7 NIO 的监视服务与 jpathwatch 相比如何?

我正在参与的项目一直使用Java 6和jpathwatch (.95),现在正在升级为Java 7。目前在Windows 7和2008 Server上运行。我正在重构部分代码以使用新的Java 7 NIO,这相对来说是比较简单的 - 甚至可以使用NIO.2替换jpathwatch。然而,我们代...