jjzjj

InputStream

全部标签

java - 在 Java 中解析一个无限长的输入

我写了一个“推送服务器”,当客户端打开连接时,它在服务器写入流时保持打开状态。我想知道如何用Java编写一个客户端,该客户端在通过这种无限长的响应接收命令时对命令使用react。问题是我不知道从哪里开始。如果您能指出我可以阅读Javadoc的类(class)的方向,那就太好了。我希望它能够立即响应,因此线程可能是必须的。非常感谢您的帮助!编辑:无限长度是指未知长度。无限这个词被用来强调服务器通常永远不会关闭连接这一点。没有传输大量数据。另一个编辑:指出这是一个运行PHP脚本的HTTP服务器可能会有所帮助。 最佳答案 如果它们是由换行

java - InputStream 和 ByteArrayInputStream 有什么区别?

以下代码摘自java核心卷一的javawebstart章节ByteArrayOutputStreamout=newByteArrayOutputStream();PrintStreamprintOut=newPrintStream(out);printOut.print(panel.getText());//panel.getText()returnaStringInputStreamdata=newByteArrayInputStream(out.toByteArray());FileSaveServiceservice=(FileSaveService)ServiceManager

java - 如何检查字节数组是否为空?

我正在使用以下代码来获取上传的文件。@POST@Path("update")@Consumes(MediaType.WILDCARD)publicbooleanupdateWorkBookMaster(MultipartFormDataInputinput){try{//getformdataMap>uploadForm=input.getFormDataMap();//getuploadedfileListinputParts=uploadForm.get("workBookFile");MultivaluedMapheader=inputParts.get(0).getHeader

java - 在用 Java 读入时如何将输入流通过管道传输到压缩文件?

我想执行一个程序,当它运行时读入它的输出并将输出输出到一个压缩文件中。该程序的输出可能非常大,所以我的想法是不要在内存中保留太多-只是在我得到它时将其发送到zip。 最佳答案 ZipOutputStreamtargetStream=newZipOutputStream(fileToSaveTo);ZipEntryentry=newZipEntry(nameOfFileInZipFile);targetStream.putNextEntry(entry);byte[]dataBlock=newbyte[1024];intcount=i

java - Files.newInputStream 创建慢 InputStream

在我的Windows7上,Files.newInputStream返回sun.nio.ch.ChannelInputStream。当我测试它与FileInputStream的性能时,我惊讶地发现FileInputStream更快。这个测试InputStreamin=newFileInputStream("test");longt0=System.currentTimeMillis();byte[]a=newbyte[16*1024];for(intn;(n=in.read(a))!=-1;){}System.out.println(System.currentTimeMillis()-

java - 将 InputStream 的 Latin-1 内容转换为 UTF-8 字符串

我需要将InputStream的内容转换为字符串。这里的难点在于输入编码,即Latin-1。我使用String、getBytes、char[]等尝试了几种方法和代码片段,以便直接进行编码,但似乎没有任何效果。最后,我想出了下面的工作解决方案。然而,这段代码对我来说似乎有点冗长,即使对于Java也是如此。所以这里的问题是:是否有更简单、更优雅的方法来实现这里所做的事情?privateStringconvertStreamToStringLatin1(java.io.InputStreamis)throwsIOException{Stringtext="";//setupreaderswi

java - 如何将 javax.xml.transform.Source 转换为 InputStream?

如何将javax.xml.transform.Source转换为InputStream?Source的实现是javax.xml.transform.dom.DOMSource。SourceinputSource=messageContext.getRequest().getPayloadSource(); 最佳答案 首先尝试向下转换为javax.xml.transform.stream.StreamSource。如果成功,您就可以通过getter访问底层的InputStream或Reader。这是最简单的方法。如果向下转型失败,您可

java - 从 ZipInputStream 获取特定文件

我可以通过ZipInputStream,但在开始迭代之前,我想获取迭代期间所需的特定文件。我该怎么做?ZipInputStreamzin=newZipInputStream(myInputStream)while((entry=zin.getNextEntry())!=null){printlnentry.getName()} 最佳答案 如果您正在使用的myInputStream来自磁盘上的真实文件,那么您可以简单地使用java.util.zip.ZipFile代替,它由RandomAccessFile并提供按名称直接访问zip条目

java - 创建 Rest Web 服务以接收图像

您将如何设计一个基于REST的Web服务来接收InputStream形式的图像文件?如果将InputStream发送到REST端点,该端点如何接收它以便创建图像文件? 最佳答案 在JAX-RS中可以接收InputStream。您只需放置不带注释的InputStream参数:@POSTpublicvoiduploadImage(InputStreamstream){//storeimage}请注意它适用于任何内容类型。虽然它会起作用,但我建议使用更“JAX-RS方式”:1创建将从InputStream创建图像类(例如java.awt.

java - 处理后如何删除 PrimeFaces UploadedFile 临时文件?

PrimeFacesUploadedFile仅公开InputStream,不公开文件本身。处理流后如何删除它? 最佳答案 为此,PrimeFaces在幕后使用ApacheCommonsFileUpload。它会将文件创建为临时文件,因此如果没有打开的File或InputStream对它的引用,该文件将已经自动删除当Java垃圾收集器运行时。因此,如果您可以绝对确保在处理后关闭InputStream(在finallyblock中!),那么您就无需担心清理问题。 关于java-处理后如何删除