问题标签 [inputstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
21 回答
254215 浏览

c++ - 从标准输入中捕获字符而无需等待按下回车键

我永远不记得我是如何做到这一点的,因为它对我来说很少出现。但是在 C 或 C++ 中,从标准输入读取字符而不等待换行符(按回车键)的最佳方法是什么。

理想情况下,它不会将输入字符回显到屏幕上。我只想在不影响控制台屏幕的情况下捕获击键。

0 投票
1 回答
1135 浏览

asp.net - 上传大文件时 InputStream 何时可用?

上传大文件时 PostedFile.InputStream 何时可用?

我想将 Stream 传递给另一个进程,我希望如果正在上传一个大文件,我可以将 Stream 直接传递给该新进程,而无需写入文件系统。由于该过程和/或上传可能需要一段时间,我想知道是否可以立即开始读取 InputStream,或者是否必须等待整个文件传输到服务器才能处理。

我想一个更普遍的问题是 - 涉及文件上传时 POST 请求的生命周期是什么?

0 投票
2 回答
2928 浏览

java - 支持 mark() 和 reset() 的轻量级 java.io.InputStream 实现

再会,

目前,我们将 ByteArrayInputStream 用于可重置的 InputStream。我的问题是它消耗了大量内存(与其他一些 InputStream 实现不同,它加载了它在内存中表示的所有字节)。

那么我的问题是,有没有支持 mark() 和 read() 的 InputStream 更轻量级的实现?

我也尝试在 commons-io 中搜索,但我没有看到任何内容。

谢谢,弗兰兹

0 投票
4 回答
4846 浏览

java - 用java一次读一页pdf上传流

我正在尝试在 j2ee 应用程序中阅读 pdf 文档。

对于网络应用程序,我必须将 pdf 文档存储在磁盘上。为了方便搜索,我想对文档中的文本进行反向索引;如果是 OCR。

使用 PDFbox 库,可以创建一个包含整个 pdf 文件的 pdfDocument 对象。但是,为了保留内存并提高整体性能,我宁愿将文档作为流处理,并一次将一页读入缓冲区。

我想知道是否可以逐页读取包含pdf的文件流,甚至一次读取一行。

0 投票
1 回答
3122 浏览

java - Android InputStream Internet 断开连接

在我的 Android 程序中,我有一些下载文件的代码。这很好用,但是由于在手机上,您可以随时断开连接,我需要更改它,以便在您完成一半并且有人打电话/您失去手机接收/等时重新连接并恢复下载。我无法弄清楚如何检测 InputStream 已停止工作。请看下面的代码:

当我失去互联网连接时,我的日志显示:

然后我的程序就挂在 while( (len1 = etc.) 上。我需要这样做,所以当互联网断开连接时,我等待互联网再次连接,然后恢复下载。

0 投票
2 回答
2651 浏览

java - 监视 InputStream 的最佳方法是什么?

我正在通过 apache.commons.FtpClient 读取文件。

这在 99.9% 的情况下都可以正常工作,但有时它会在 read() 方法中死掉......

我的问题是什么是防止这种无限期锁定系统的最可靠方法。我应该在单独的线程中设置计时器吗?或者有更简单的方法吗?

0 投票
7 回答
100490 浏览

java - Java InputStream 阻塞读取

根据java api,InputStream.read()描述为:

如果由于到达流的末尾而没有可用的字节,则返回值 -1。此方法会一直阻塞,直到输入数据可用、检测到流结束或引发异常。

我有一个while(true)循环进行读取,当没有任何内容通过流发送时,我总是得到-1。这是预期的。

我的问题是 read() 什么时候会阻塞?因为如果它没有得到任何数据,它会返回-1。我希望阻塞读取要等到收到数据。如果您已经到达输入流的末尾,那么 read() 不应该只是等待数据而不是返回 -1 吗?

或者 read() 只有在有另一个线程访问流并且您的 read() 无法访问流时才会阻塞?


这引出了我的下一个问题。我曾经有事件监听器(由我的库提供),它会在数据可用时通知我。当我收到通知时,我会调用while((aByte = read()) > -1)存储字节。当我在非常接近的时间内获得两个事件并且并未显示我的所有数据时,我感到很困惑。似乎只显示了第二个事件数据的尾部,其余的都丢失了。

我最终更改了我的代码,以便当我收到一个事件时,我调用if(inputStream.available() > 0) while((aByte = read()) > -1)了存储字节。现在它工作正常,我的所有数据都显示出来了。

有人可以解释这种行为吗?据说InputStream.available()返回在阻塞下一个调用者(流的?)之前可以读取的字节数。即使我不使用 .available() 我希望读取第一个事件只会阻止读取第二个事件,但不会擦除或消耗太多流数据。为什么这样做会导致无法显示我的所有数据?

0 投票
6 回答
1514 浏览

java - 使用有关持久性和 XML 的 InputStream 的最佳方式

我有一个 REST Web 服务,它侦听 POST 请求并从客户端获取 XML 有效负载,并将其最初存储为 InputStream 即在您可以调用 getStream() 的 Representation 对象上

我想利用 InputStream 中保存的 XML,我开始认为保留它是明智的,所以我可以多次询问数据 - 因为一旦你通读它,对象就会变为 null。所以我考虑将 InputStream 转换为字符串。这不是一个好主意,因为 javax.xml.parsers 库中的 DocumentBuilder.parse() 只允许您通过:

  • 输入流
  • 文件
  • 网址
  • SAX 输入源

不是字符串。

关于从其中解析 XML,我应该在这里用 InputStreams 做什么?请记住,我将希望在以后的流程中通过代码重新询问该 XML。

0 投票
4 回答
7648 浏览

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

我的 Java 程序使用 ProcessBuilder(redirectErrorStream 设置为 true),并且有一个循环运行进程的输入流的 read 方法,该方法是阻塞的。然后我调用的外部程序停止等待输入和标准输入。我现在想终止该进程。这不是通过(在单独的线程中)调用进程的destroy方法,并调用inputstream的close方法来阻止read方法阻塞,这样我的初始线程就可以结束它的生命了吗?

由于某种原因process.getInputStream().close()阻塞。从 JavaDoc 我看不出为什么会发生这种情况。此外,我不明白为什么 javadoc 说“InputStream 的 close 方法什么都不做”。(指向 javadoc 的链接)有人可以解释一下吗?

谢谢 :-)

0 投票
6 回答
210661 浏览

java - 将文件加载为 InputStream 的不同方式

有什么区别:

什么时候每一个都比其他的更适合使用?

我要读取的文件作为读取文件的类位于类路径中。我的类和文件在同一个 jar 中并打包在一个 EAR 文件中,并部署在 WebSphere 6.1 中。