草庐IT

inputstreams

全部标签

java - 如何将 InputStream 转换为 DataHandler?

我正在开发一个将文件存储在数据库中的javaweb应用程序。最初,我们通过简单地在结果集上调用getBytes来检索数据库中已经存在的文件:byte[]bytes=resultSet.getBytes(1);...然后使用明显的构造函数将该字节数组转换为DataHandler:dataHandler=newDataHandler(bytes,"application/octet-stream");在我们开始尝试存储和检索更大的文件之前,这非常有效。将整个文件内容转储到一个字节数组中,然后从中构建一个DataHandler只需要太多内存。我的直接想法是使用getBinaryStream检

java - 如何读取服务器套接字 JAVA 中的所有 Inputstream

我在我的一个项目中使用Java.net。我编写了一个从客户端获取inputStream的AppServer。但有时我的(缓冲的)InputStream无法获取客户端发送到我的服务器的所有OutputStream。我怎样才能写一个等待或类似的东西,让我的InputStream获得客户端的所有OutputStream?(我的InputStream不是字符串)privateSocketclientSocket;privateServerSocketserver;privateBufferedOutputStreamoutputS;privateBufferedInputStreaminput

java - 如何读取服务器套接字 JAVA 中的所有 Inputstream

我在我的一个项目中使用Java.net。我编写了一个从客户端获取inputStream的AppServer。但有时我的(缓冲的)InputStream无法获取客户端发送到我的服务器的所有OutputStream。我怎样才能写一个等待或类似的东西,让我的InputStream获得客户端的所有OutputStream?(我的InputStream不是字符串)privateSocketclientSocket;privateServerSocketserver;privateBufferedOutputStreamoutputS;privateBufferedInputStreaminput

java - DocumentBuilder.parse(InputStream) 返回 null

我正在修复有关DocumentBuilder.parse的现有代码的错误。我有以下代码:StringtheOutput;theOutput=response.encodeURL(prefix+"/include/sampleForConversion.jsp?"+request.getQueryString();StreamSourcexmlSource=newStreamSource(newURL(theOutput).openStream(),"http://sampleApps.net/static/dataDef1.1.dtd");DocumentxmlDoc=dBuilder

java - DocumentBuilder.parse(InputStream) 返回 null

我正在修复有关DocumentBuilder.parse的现有代码的错误。我有以下代码:StringtheOutput;theOutput=response.encodeURL(prefix+"/include/sampleForConversion.jsp?"+request.getQueryString();StreamSourcexmlSource=newStreamSource(newURL(theOutput).openStream(),"http://sampleApps.net/static/dataDef1.1.dtd");DocumentxmlDoc=dBuilder

java - 如何缓存 InputStream 以供多次使用

我有一个文件的InputStream,我使用apachepoi组件来读取它,如下所示:POIFSFileSystemfileSystem=newPOIFSFileSystem(inputStream);问题是我需要多次使用同一个流,而POIFSFileSystem会在使用后关闭流。缓存输入流中的数据然后将更多输入流提供给不同的POIFSFileSystem的最佳方法是什么?编辑1:缓存是指存储以供以后使用,而不是作为加速应用程序的一种方式。将输入流读入数组或字符串然后为每次使用创建输入流更好吗?编辑2:很抱歉重新提出问题,但在桌面和Web应用程序中工作时,情况会有所不同。首先,我从我的

java - 如何缓存 InputStream 以供多次使用

我有一个文件的InputStream,我使用apachepoi组件来读取它,如下所示:POIFSFileSystemfileSystem=newPOIFSFileSystem(inputStream);问题是我需要多次使用同一个流,而POIFSFileSystem会在使用后关闭流。缓存输入流中的数据然后将更多输入流提供给不同的POIFSFileSystem的最佳方法是什么?编辑1:缓存是指存储以供以后使用,而不是作为加速应用程序的一种方式。将输入流读入数组或字符串然后为每次使用创建输入流更好吗?编辑2:很抱歉重新提出问题,但在桌面和Web应用程序中工作时,情况会有所不同。首先,我从我的

java - 在 finally block 中静默关闭 InputStream 而不会丢失原始异常的正确方法是什么?

我想知道下面的代码是否在finallyblock中正确关闭了InputStreamInputStreamis=newFileInputStream("test");try{for(;;){intb=is.read();...}}finally{try{is.close();}catch(IOExceptione){}}如果在is.read()期间发生异常,如果在is.close()期间发生异常,是否会忽略/抑制它? 最佳答案 最好的方法是使用Java7并使用资源尝试,或者手动执行相同的操作并将关闭时的异常添加为抑制的异常。Java7

java - 在 finally block 中静默关闭 InputStream 而不会丢失原始异常的正确方法是什么?

我想知道下面的代码是否在finallyblock中正确关闭了InputStreamInputStreamis=newFileInputStream("test");try{for(;;){intb=is.read();...}}finally{try{is.close();}catch(IOExceptione){}}如果在is.read()期间发生异常,如果在is.close()期间发生异常,是否会忽略/抑制它? 最佳答案 最好的方法是使用Java7并使用资源尝试,或者手动执行相同的操作并将关闭时的异常添加为抑制的异常。Java7

java - 为什么 InputStream.close() 声明抛出 IOException?

java.io.InputStream.close()方法被声明为抛出IOException。到底什么情况下会抛出这样的异常?编辑:是的,我已经阅读了javadoc。任何人都可以比“发生I/O错误时”更具体吗?什么在关闭InputStream时会发生I/O错误? 最佳答案 在从文件系统读取输入流的情况下,当文件系统本身在关闭期间更新文件上的上次访问时间元数据或其他一些元数据时,可能会引发错误。无论如何,这在实践中几乎从未发生过。在从网络连接读取输入流的情况下,关闭错误更容易想象。网络套接字的正常关闭实际上涉及通过连接发送关闭请求(T