24得票4回答
为什么WatchService会生成如此多的操作?

import java.io.*; import java.nio.file.*; public class Tmp { public static void main(String [] args) throws IOException { int count =...

24得票3回答
Java高并发NIO TCP服务器

作为我的研究的一部分,我正在使用Java编写高负载TCP/IP回显服务器。我想为大约3-4k个客户端提供服务,并查看可以从中挤出的最大可能每秒消息数。消息大小相当小-最多100字节。这项工作没有任何实际用途-只是研究。 根据我看过的许多演示文稿(HornetQ基准测试、LMAX Disrup...

24得票3回答
在阻塞模式下,Java NIO 相对于传统 I/O 有什么优势?

我已经决定不使用异步非阻塞Java NIO。总的来说,它的复杂性与好处相比存在很大的疑问,并且我认为在这个项目中并不值得。 但是,我读到的大部分关于NIO的内容及其与早期java.io.*的比较都集中在非阻塞异步NIO与使用java.io.* 的每个连接一个线程的同步I/O之间的对比上。然而...

24得票3回答
强制停止在外部线程上运行的Java Files.copy()

在Java 8之前,这里的答案似乎是一个有效的解决方案:如何在Java中取消Files.copy()操作? 但现在它不起作用了,因为ExtendedCopyOption.INTERRUPTIBLE是私有的。 基本上,我需要从给定的URL下载文件,并使用Files.copy()将其保存到...

23得票5回答
为什么在Java NIO中`selector.selectedKeys().iterator()`应该移除关键字?

我找到了一些Java NIO的示例代码: ServerSocketChannel server = ServerSocketChannel.open(); Selector selector = Selector.open(); server.socket().bind(new I...

22得票2回答
在Play Framework中使用Files.createSymbolicLink时出现“客户端未持有所需权限”FileSystemException

我正在尝试在Play!框架中使用新的Java 7 Files.createSymbolicLink()方法,但是我遇到了以下异常:RuntimeException occured : java.nio.file.FileSystemException: c:\work\foo\bar: A r...

22得票6回答
如何在Java 7中重命名(而不是移动)文件?

我对JDK7中所有这些新的文件I/O类有点困惑。 假设我有一个Path并想要重命名它所代表的文件。当再次需要一个Path时,我该如何指定新名称?Path p = /* path to /home/me/file123 */; Path name = p.getName(); /* gives...

22得票4回答
我该如何使用AsynchronousServerSocketChannel来接受连接?

我想使用Java 7和NIO 2编写一个异步服务器。 但是如何使用AsynchronousServerSocketChannel? 比如,如果我从以下内容开始: final AsynchronousServerSocketChannel server = Asynchronou...

22得票2回答
如何使用NIO将InputStream写入文件?

我正在使用以下方式将InputStream写入File:private void writeToFile(InputStream stream) throws IOException { String filePath = "C:\\Test.jpg"; F...

22得票2回答
什么是缓冲区溢出异常的原因?

异常堆栈是 java.nio.BufferOverflowException at java.nio.DirectByteBuffer.put(DirectByteBuffer.java:327) at java.nio.ByteBuffer.put(ByteBuffer....