java - 我可以为 InputStream 的 read() 函数设置超时吗?

标签 java io

我有一个从 Socket 获得的 DataInputStream。有什么方法可以为 dis.read(...) 设置超时?目前我生成了一个新线程来进行读取。父线程执行 thread.join(timeout) 以在中断它之前等待。我知道 nio,但我认为此时我不想重构那么多。谢谢。

最佳答案

通常不在 InputStream 上,但您可以使用 Socket#setSoTimeout(int) 为套接字本身上的所有读取操作设置超时。

关于java - 我可以为 InputStream 的 read() 函数设置超时吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2638283/

相关文章:

Mac OSX 上的 Java - 检测程序是否全屏

java - Spring 3 MVC中的文件上传-空指针异常

java - Java中简单的逐行读取

c#搜索大文本文件

java - 在文件夹中创建文件

java - 有没有办法在 Eclipse 中重构整个项目中的属性文件键?

java - spark 2.0 - java.io.IOException : Cannot run program "jupyter": error=2, 没有这样的文件或目录

Java监控单元测试的内存使用情况

python - 如何等待子进程完成、存储其输出并向输出添加前缀(不带新行)?

java - 根据日期字段对文件进行分组时出错