问题标签 [bufferedinputstream]
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.
java - Java BufferedReader 阿拉伯语文本文件问题
问题:java 读取的文本文件中的阿拉伯语单词显示为一系列问号:??????
这是代码:
正如你所看到的,我已经在不同的地方指定了 UTF-8 编码,但我仍然得到问号,你知道我该如何解决这个问题吗?
谢谢
java - 用于 Java I/O 的 InputStreamReader 或控制台
要在 Java 中获取用户输入,哪种方法更好?
或使用控制台-->Console c = System.console();
两者之间有什么区别以及要使用哪一个。或者除了这两种方法还有其他更好的方法吗?
android - 从资产填充 GridView 的问题
我正在尝试使用膨胀视图填充 Android GridView,视图具有 ImageView 和 TextView,它们是从数据的 ArrayList 填充的。
Fverything 很好,但是当我滚动网格时,我的前 7 个项目正在重复。
我的代码:
java - 在这种情况下,为 BufferedInputStream 调用 available() 会导致我误入歧途吗?
我正在以 1021 字节的块读取任意大小的文件,文件的最后一个块的块大小为 <= 1021 字节。目前,我正在使用一个BufferedInputStream
包裹在 a 周围的 aFileInputStream
和看起来(大致)如下所示的代码(在哪里reader
并且BufferedInputStream
this 在循环中运行):
但是,通过阅读 API 文档,我注意到available()
在调用“阻塞”之前只给出了可用大小的“估计”。打印出availableData
每次迭代的值似乎给出了预期值 - 从文件大小开始,慢慢变小,直到它 <= 1021。鉴于这是一个本地文件,我认为这是一个正确的值是错误的 -有没有available()
会给出错误答案的情况?
编辑:对不起,附加信息。被BufferedInputStream
包裹在一个FileInputStream
. 从 FIS 的源代码来看,我认为我可以安全地依赖 available() 作为在本地文件的情况下剩余多少数据的度量。我对吗?
java - Java - 从单个 zip 文件中读取多个图像并最终将它们转换为 BufferedImage 对象。好主意?
我正在开发一款游戏,我需要加载多个图像文件(png、gif 等),我最终希望将其转换为 BufferedImage 对象。在我的设置中,我想从一个 zip 文件“Resources.zip”中加载所有这些图像。该资源文件将包含图像、地图文件和音频文件——所有这些都包含在各种整齐有序的子目录中。我想这样做是因为它(希望)使我的程序的小程序和应用程序版本中的资源加载变得容易。我也希望对于小程序版本,这种方法可以让我轻松显示游戏资源 zip 文件的加载进度(最终可能达到 10MB,具体取决于游戏的精细程度,尽管我希望将其保持在该大小以下,以使其对浏览器友好)。
我在下面包含了我的 zip 处理类。这个想法是,我有一个单独的资源处理类,它创建一个 ZipFileHandler 对象,用于从 Resources.zip 文件中提取特定资源。
我使用这样的 ZipFileHandler 类:
好消息是,它有效!
但我觉得可能有更好的方法来做我正在做的事情(而且我对使用 BufferedInputStreams 还很陌生)。
最后,我的问题是:
这甚至是个好主意吗?
有没有更好的方法以对小程序和应用程序友好的方式在单个下载/流中加载一大堆游戏资源文件?
我欢迎所有的想法和建议!
谢谢!
java - 我可以关闭/重新打开 InputStream 以模拟不支持标记的输入流的标记/重置吗?
我试图java.io.InputStream
从流的顶部开始多次阅读。
显然,对于返回的流,true
我markSupported()
可以尝试使用mark(availableBytes)
,然后reset()
从顶部再次读取流。
大多数流不支持标记,而那些支持(例如java.io.BufferedInputStream
)将数据复制到临时字节数组中,这在内存消耗等方面并不好。
如果我的方法java.io.InputStream
作为参数接收,我可以关闭它然后以某种方式重新打开它以将相同的原始流重置到顶部,以便我可以再次读取它?
InputStream
除了将原始文件写入内存(牦牛!)或临时文件之外InputStream
,如果我需要再次从顶部读取流,我找不到任何方法来执行此技巧。
java - BufferedInputStream 到字符串的转换?
嗨,我想将此 BufferedInputStream 转换为我的字符串。我怎样才能做到这一点?
android - InputStream 不会关闭,或者需要永远
我正在尝试将外部 mp3 下载到内部存储中。但是,我尝试下载的文件很大,因此我尝试以 1MB 的大小下载它们,以便您可以在下载其余文件的同时开始播放它们。这是我的流代码:
它可以很好地下载文件,但是当它在 finally 语句中到达 is.close() 时,它会挂起。如果我等待很长时间,它最终会关闭。似乎它仍在下载文件的其余部分。如何避免这种情况并立即关闭流?
java - Java 下载防洪
目前我有一个下载 .zip 文件并解压缩它的 java 下载器,但是主机的下载速度限制为 8mb。因此,由于带宽问题,如果超过 10 人同时下载文件(大约 30MB),则会导致下载速度急剧下降,导致下载时间从 2 分钟缩短到 10 小时
无论如何,这是下载代码
我在想,也许是一种检查有多少人正在下载它的方法,如果当前有 X 人正在下载,请切换到可以在一系列链接中找到的不同链接。
java - Logcat 消息:BufferedInputStream 构造函数中使用的默认缓冲区大小。
在执行我的项目时,我在 logcat 中收到如下所示的错误:
05-12 12:43:17.268:INFO/global(801):BufferedInputStream 构造函数中使用的默认缓冲区大小。如果需要 8k 缓冲区,最好是明确的。
我的代码如下所示。在这里,我传入的数据commonParser()
是从 Web 服务获得的长响应。
logcat 响应建议我使用 8k 缓冲区大小,但我不知道如何为BufferedInputStream
.