草庐IT

阻塞IO

全部标签

java - BufferedInputStream 和阻塞

我正在使用BufferedInputStream从套接字中读取数据。BufferedInputStream内容如下:socketInput.read(replyBuffer,0,7);它被实例化socketInput=newBufferedInputStream(mySocket.getInputStream());mySocket被定义为privateSocketmySocket;mySocket由mySocket=newSocket(ipAddress,port);实例化我已验证mySocket已连接到我的设备。我可以向我的设备发送数据;但是,由于未知原因,我没有从我的设备接收到信

java - ANTLR @header、@parser、superClass 选项和基本文件 io (Java)

我想对基本文件io(Java)使用解析器操作,例如。G。ANTLR语法中的PrintWriter。我必须使用superClass选项还是可以使用@header?在这两种情况下,我如何声明PrintWriter对象以及我必须如何处理异常? 最佳答案 选项superClass=...用于让您的Parser扩展自定义类。所以,我认为这不是您想要的。@header部分中的所有内容都将放在Parser类的开头。这用于导入类:@header{importjava.io.PrintWriter;}请注意,@header{...}是@parser:

java Process.waitfor 是一个阻塞调用

我希望能够从JVM内部启动外部进程并完成它。我可以使用ProcessBuilder创建一个流程,然后执行Process.waitFor()以等待其完成。然而,这是一个阻塞调用,只会浪费线程资源。通过事件处理程序和响应式编程来完成此操作会更有意义。人们会认为JVM可以向操作系统注册某种监听器来监听进程完成事件,并将其转发回程序。是否存在这样的机制/API?有没有实现此目的的替代方案或库? 最佳答案 使用NuProcess如果您只需要支持Windows、MacOSX和Linux,请使用该库。它使用回调模型提供对外部进程的非阻塞访问——包

java - 将对象从 java.nio.file.Path 转换为 java.io.File

这个问题在这里已经有了答案:Java:PathvsFile(8个答案)关闭4年前。我想知道是否有可能以某种方式将定义为java.nio.file.Path的对象转换为java.io.File

java.sql.SQLException : Io exception: Got minus one from a read call during JDBC connection with oracle 异常

嗨,我是java的新手,当我尝试将oracle与我的java示例代码连接时,我遇到了上述异常我的代码是importjava.sql.*;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassDbConnectivityextendsHttpSer

java - 无法创建 PoolableConnectionFactory(Io 异常 : The Network Adapter could not establish the connection)

您好,我在spring应用程序中遇到了上述异常,我正在尝试连接到集群Oracle数据库,但即使我尝试连接到单个实例仍然有相同的异常。bean定义如下:完整的堆栈跟踪是:2012-02-1313:18:45,0841375[main]INFOorg.hibernate.connection.ConnectionProviderFactory-Initializingconnectionprovider:org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider2012-02-1313:18:45,2071498

java - 异常读取 XLSB 文件 Apache POI java.io.CharConversionException

我正在开发一个使用ApachePOI读取excelxlsb文件的Java应用程序,但是在读取它时出现异常,我的代码如下:importjava.io.IOException;importjava.io.InputStream;importorg.apache.poi.xssf.eventusermodel.XSSFReader;importorg.apache.poi.xssf.model.SharedStringsTable;importorg.apache.poi.xssf.usermodel.XSSFRichTextString;importorg.apache.poi.openx

java - 如何避免此 java.io.IOException : No space left on device

如果我的空间已满,我有时会遇到以下异常java.io.IOException:Nospaceleftondeviceatjava.io.FileOutputStream.writeBytes(NativeMethod)atjava.io.FileOutputStream.write(FileOutputStream.java:282)atjava.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1847)atjava.io.ObjectOutputStream$BlockDataOutp

java - 使用 Commons IO 将目录压缩成一个 zipfile

我是Java编程的初学者,目前正在编写一个必须能够压缩和解压缩.zip文件的应用程序。我可以使用以下代码使用内置的Javazip功能和ApacheCommonsIO库解压缩Java中的zip文件:publicstaticvoiddecompressZipfile(Stringfile,StringoutputDir)throwsIOException{if(!newFile(outputDir).exists()){newFile(outputDir).mkdirs();}ZipFilezipFile=newZipFile(file);Enumerationentries=zipFil

java - 为什么 java 的 inputstream.close() 会阻塞?

我的Java程序使用ProcessBuilder(将redirectErrorStream设置为true)并有一个循环来运行进程的输入流的读取方法,这是阻塞的。然后我调用的外部程序停止等待输入和标准输入。我现在想杀死这个过程。这不是通过(在单独的线程中)调用进程的destroy方法,并调用inputstream的close方法来停止read方法阻塞来完成的,这样我的初始线程就可以结束它的生命了吗?由于某些原因process.getInputStream().close()block。从JavaDoc我不明白为什么会发生这种情况。此外,我不明白为什么javadoc说“InputStrea