jjzjj

inputstream

全部标签

Java servlet 和 IO : Create a file without saving to disk and sending it to the user

我希望可以帮助我解决文件创建/响应问题。我知道如何创建和保存文件。我知道如何通过ServletOutputStream将该文件发送回用户。但我需要的是创建一个文件,而不是将其保存在磁盘上,然后通过ServletOutputStream发送该文件。上面的代码解释了我拥有的部分。任何帮助表示赞赏。提前致谢。//ThisCreatesafile//Stringtext="Thesedaysrunawaylikehorsesoverthehill";Filefile=newFile("MyFile.txt");Writerwriter=newBufferedWriter(newFileWrit

java - 从公共(public)方法返回 InputStream

我有一个类,一方面,感觉从公共(public)方法返回InputStream是正确的,例如publicclassMyClass{privateFile_file;...publicInputStreamgetInputStream(){returnnewFileInputStream(_file);}}但是,我对这样做也非常谨慎,因为它让调用者有责任关闭此流。我可以通过哪些方式避免此问题? 最佳答案 取决于为什么这是你眼中的问题。如果您绝对必须返回一个InputStream并且所讨论的文件不是太大,您可以将整个文件缓冲到字节数组中,

java - 如何在 Java 中制作 InputStream 的深拷贝

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭6年前。Improvethisquestion我想知道如何对InputStream进行深拷贝。我知道可以使用IOUtils包来完成,但我想尽可能避免使用它们。有人知道替代方法吗?

java - InputStream 的自定义实现

要将数据发送到我的FTP服务器上的文件,我需要创建一个自定义InputStream实现,它逐行读取数据库数据,将其转换为CSV并通过其read()方法发布:从数据库中,我得到一个List带有数据的对象。对于每个Application对象,我想在CSV文件中创建一行。我的想法是在构造函数中加载所有数据,然后覆盖读取方法。我需要覆盖所有InputStream的方法吗?我尝试用谷歌搜索一些示例,但没有成功-您最终能给我一个链接吗? 最佳答案 你只需要执行theread()methodwithoutparameters.所有其他方法都作为对

java - 输入流与输出流有何不同?

我看到两者都是数据“流”。在那种情况下,为什么认为它们不同?到底有什么区别?评论-请不要关闭此问题。这是最基本的东西,可以在采访中混淆别人。更新1-每个人似乎都在说同样的话——你从IS读取并写入OS。所以,他们基本上是一样的。就像有水流过的管道。当您使用该管道中的水时,您将其称为InputStream,当您将水泵入其中时,它称为输出流。真的有那么简单吗?更新2-如果差异不是那么“大”,那么我们可以有一个InAndOutStream而不是为两个类(InputStream和OutputStream)编写代码吗? 最佳答案 它们在概念上是

java - Tomcat 过滤器对请求输入流产生不利影响(输入流为空)

我在我的应用程序中添加了一个过滤器,它只记录有关请求的某些内容。我的一些servlet从ServletRequest#getInputStream读取.自从添加此过滤器后,那些从ServletRequest#getInputStream读取的servlet不再工作,因为输入流为空。通过简单地从我的web.xml中注释掉它来禁用过滤器解决了这个问题。为什么会发生这种情况,有没有一种方法可以在不弄乱ServletRequest#getInputStream的情况下使用过滤器??过滤器实际上是Tomcat的RequestDumperFilter,包含在其示例Web应用程序之一中。我将只包含d

java - 如何使用 JAX-RS 流式传输无休止的 InputStream

我有一个无穷无尽的InputStream和一些数据,我想返回这些数据以响应GETHTTP请求。我希望我的网络/API客户端无休止地从中读取。我如何使用JAX-RS做到这一点?我正在尝试这个:@GET@Path("/stream")@Produces(MediaType.TEXT_PLAIN)publicStreamingOutputstream(){finalInputStreaminput=//getitreturnnewStreamingOutput(){@Overridepublicvoidwrite(OutputStreamout)throwsIOException{while

java - 具有独立消费者的单个 InputStream 的并发处理

我需要生成N个消费者线程,它们同时处理相同的InputStream,例如-以某种方式对其进行转换,计算校验和或数字签名等。这些消费者彼此不依赖,并且都在使用第三方库,这接受InputStream作为数据源。所以我能做的是-创建一些InputStream的实现,这将从“父”流中读取数据block解锁消费者等到每个消费者都读完整个block阅读下一段虽然看起来很简单,但当某些消费者死亡时,可能会引发各种问题,例如活锁,实现所有InputStream方法,使用屏障/锁存器控制消费者自己的fork/join等。一个friend告诉我,实现需要半个小时,这让我度过了一个晚上。我宁愿使用足够成熟的

java - 如何以 block 的形式获取 JSON 数据以报告进度?

这个问题在这里已经有了答案:AndroidDownloadProgress(1个回答)关闭2年前。我需要通过RESTAPI下载联系人数据,我得到的是JSON格式。问题是,它可能有很多联系人,所以我想观察进度(已经下载了多少联系人)并向用户报告(带有进度条,下面的代码在线程中运行)。但是,似乎行client.execute(getRequest);建立连接并一次性下载全部内容,即我的InputStream阅读器(以block形式获取内容)似乎没用。现在我想知道如何让它分块工作,以便我可以报告进度?/**prepareHTMLgetrequest*/HttpGetgetRequest=ne

java - 为什么我得到 java.io.IOException : Stream closed?

我正在尝试下载一个zip文件,但我收到了一个流关闭异常。当我使用swinggui时,它会出现此错误,但如果我使用控制台,则没有问题。为什么我会得到这个异常(exception)?我该如何解决?这是我的代码:URLConnectionconn=url.openConnection();InputStreamin=conn.getInputStream();FileOutputStreamout=newFileOutputStream(destination.getPath());byte[]b=newbyte[1024];intcount;while((count=in.read(b))