本页:http://blog.ostermiller.org/convert-java-outputstream-inputstream描述了如何从OutputStream创建一个InputStream:newByteArrayInputStream(out.toByteArray())其他替代方法是使用PipedStreams和新线程,这很麻烦。我不喜欢将许多兆字节复制到内存中的新字节数组的想法。有没有比这更有效的库?编辑:根据LaurenceGonsalves的建议,我尝试了PipedStreams,结果证明它们并不难处理。这是clojure中的示例代码:(defn#^PipedI
有没有一种简单的方法可以避免处理文本编码问题? 最佳答案 如果您从字符串开始,您还可以执行以下操作:newByteArrayInputStream(inputString.getBytes("UTF-8")) 关于java-如何将Reader转换为InputStream并将Writer转换为OutputStream?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/62241/
我正在尝试通过Internet逐行读取text/plain文件。我现在的代码是:URLurl=newURL("http://kuehldesign.net/test.txt");BufferedReaderin=newBufferedReader(newInputStreamReader(url.openStream()));LinkedListlines=newLinkedList();StringreadLine;while((readLine=in.readLine())!=null){lines.add(readLine);}for(Stringline:lines){out.
我有一个String我想用作InputStream。在Java1.0中,您可以使用java.io.StringBufferInputStream,但那是@Deprecrated(有充分的理由——你不能指定字符集编码):Thisclassdoesnotproperlyconvertcharactersintobytes.AsofJDK1.1,thepreferredwaytocreateastreamfromastringisviatheStringReaderclass.您可以创建java.io.Reader与java.io.StringReader,但没有适配器来获取Reader并创
我正在尝试使用HttpURLConnection(用于在java中使用cUrl)向url发送post请求。请求的内容是xml,在终点,应用程序处理xml并将记录存储到数据库中,然后以xml字符串的形式发回响应。该应用程序在本地托管在apache-tomcat上。当我从终端执行此代码时,会按预期将一行添加到数据库中。但是从连接中获取InputStream的时候抛出异常如下java.io.FileNotFoundException:http://localhost:8080/myapp/service/generateatsun.net.www.protocol.http.HttpURLC
有没有办法从java.io.InputStream创建一个java.io.File对象?我的要求是从RAR读取文件。我不是想写一个临时文件,我在RAR存档中有一个文件,我想读取它。 最佳答案 您需要创建新文件并将InputStream中的内容复制到该文件:Filefile=//...try(OutputStreamoutputStream=newFileOutputStream(file)){IOUtils.copy(inputStream,outputStream);}catch(FileNotFoundExceptione){/
ApacheCommonsIO有一个很好的方便方法IOUtils.toString()将InputStream读取到字符串。因为我正试图从ApacheCommons转移到Guava:Guava有等价物吗?我查看了com.google.common.io包中的所有类,但找不到任何简单的东西。编辑:我理解并理解字符集的问题。碰巧我知道我所有的来源都是ASCII(是的,ASCII,不是ANSI等),所以在这种情况下,编码对我来说不是问题。 最佳答案 您在对Calum的回答的评论中声明您将使用CharStreams.toString(new
这个问题在这里已经有了答案:HowdoIturnaStringintoaInputStreamReaderinjava?(6个回答)关闭6年前。我不习惯在Java中使用流-如何从String创建InputStream? 最佳答案 给你:InputStreamis=newByteArrayInputStream(myString.getBytes());更新对于多字节支持使用(感谢AaronWaibel的评论):InputStreamis=newByteArrayInputStream(Charset.forName("UTF-16"
很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。为了帮助澄清这个问题以便可以重新打开它,visitthehelpcenter.关闭9年前。我只想将FileInputStream转换为InputStream,我该怎么做?例如FileInputStreamfis=newFileInputStream("c://filename");InputStreamis=?;fis.close(); 最佳答案 InputStreamis;try{is=newFileInputStr
两者有什么区别:InputStreamis=this.getClass().getClassLoader().getResourceAsStream(fileName)和InputStreamis=Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName)和InputStreamis=this.getClass().getResourceAsStream(fileName)什么时候比其他的更适合使用?我要读取的文件在类路径中,作为读取文件的类。我的类和文件在同一个jar中并打包在一个EAR文件