问题标签 [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.

0 投票
1 回答
3298 浏览

java - 在Java中使用带有RTL字符的BufferedInputStream将文本文件逐行解析为数组

伙计们,我需要了解一些事情: \n 出现在新行的开头?如果是这样,我正在尝试解析其中包含 RTL 字符并且它们位于行首的文件,因此:

  1. xxx xxxx, ABC DEFG, 1, 11, 111, 786
  2. xxx xxxx, ABC DEFG, 1, 11, 111, 786
  3. ETC...

在解析 txt 文件(来自资产的 android)时,我不断从下一行获取第一个单词,并从上一行连接到 Integer。我已经尝试了一切,但没有运气。

这是一个代码片段:

我想要实现的是:

将文本文件真正快速地逐行解析为插入数据库的数组...

有任何想法吗???

非常感谢帮助,因为我已经做了好几天了(失去了我的头发:-()...

目前我有使用 InputStreamReader 的代码,但它非常慢!!!!!!

谢谢你。

玉叶。

0 投票
3 回答
11946 浏览

java - Java 被防病毒软件(特别是 AVG)阻止

我有一个我一直在研究的下载文件的程序。除非用户使用 AVG,否则一切正常。奇怪的是,为了解决这个问题,似乎必须禁用 AVG 的“电子邮件保护”;将我的程序或 JRE 添加到例外列表中不起作用。

我通过使用从 URL 获得的 BufferedInputStream 下载内容。用户一直报告说下载过程开始正常,但冻结了〜5%-15%(它会有所不同)。下载进度通过 JProgressBar 显示。

有没有办法避免这种情况?一个个地处理它是一件很痛苦的事...

0 投票
4 回答
2444 浏览

java - 在 Java 中播放时将 mp3 文件写入磁盘

我有一个应用程序使用 JLayer/BasicPlayer 库通过 HTTP 播放远程 MP3 文件。我想将播放的 mp3 文件保存到磁盘而不重新下载它们。

这是使用基于 JLayer 的 BasicPlayer 播放 MP3 文件的代码。

如何将 mp3 文件保存到磁盘?

0 投票
4 回答
4606 浏览

java - Java BufferedInputStream.read() IndexOutOfBounds

我想编写一种将文件中的一部分读入字节数组的方法。为此,我正在使用文件输入流和缓冲输入流。

像这样:

我只通过调用方法名称“OpenFile(String File)”来执行此操作。使用此方法打开文件后,我尝试使用以下功能进行操作:“ReadParts(byte[] buffer, int offset, int len)”

第一步后 dis.read() 行总是抛出 indexOutOfBounds 错误消息,但我不知道为什么和什么。使用 netbeans 调试器没有帮助,因为我找不到索引的问题.....

0 投票
2 回答
1070 浏览

java - Facing difficulty while using BufferedInputStream inplace of Scanner

For reading input from STDIN i always used Scanner object. Recently I read about BufferedInputStream here that BufferedInputStream is fastest way to read input. In Scanner we have various methods (to read integer nextInt(), to read byte nextByte(), to read string next() etc.) Currently i am reading some strings (at max 100000 characters) and some integers. According to these integers, i further run my for loop which takes input from the STDIN. Below is the code snippet which i use till now-

However with BufferedInputStream we have only read() to read input. So how can i differentiate among the inputs? Can somebody please write down the BufferedInputStream code equivalent to the above Scanner ? Should i use StringTokenizer class to tokenize to data which i am getting from read() ? Will this not make the whole stuff (reading input from the STDIN) more slower than Scanner?

0 投票
2 回答
3127 浏览

java - BufferedReader 与 BufferedInputStream 的性能测量

最近我修改了我的代码

  • Scanner在从 STDIN 输入输入时,我从BufferedInputStream.
  • 我还阅读了BufferedReaderwhich 从 any 获取输入InputStreamReader。这InputStreamReader可以用于System.in接受STDIN输入。
  • BufferedInputStreamhasread()方法,还需要根据objective进行解析。

在我的情况下,首先我需要将一个整数(比如说 n)作为输入,STDIN然后 afor loop将 n 个字符串作为输入。这些字符串最多有 1,00,000 个字符。

问题是:其中哪一个对我Scanner的目标表现更好?BufferedInputStreamBufferedReader

0 投票
2 回答
443 浏览

java - 通过 ftp 发送数据库 - 获取不同的文件

我目前正在使用此代码通过 ftp 发送数据库(使用 apache commons)

我用它来发送一个文本文件,它可以工作。但是,我已经用我的数据库进行了尝试,并且在服务器上放置了一个相同大小的文件,但是当我打开它时,SQLite 浏览器什么也不显示。它适用于一个非常小的数据库,但是一旦数据库更大,我就会遇到这个问题。

我想知道这是否与缓冲区大小有关?任何人都可以解释为什么会这样吗?

谢谢

0 投票
1 回答
152 浏览

java - 如何用缓冲区删除输入流的缓冲区?

考虑带有缓冲区的 InputStream,例如 AudioInputStream (ieavailable() return >=0) 输入流正在读取一个变化的文件(一个从互联网不断下载的文件,未下载的部分用零打包)。

  • 当它读取到未下载的部分时,将调用wait()
  • 下载部分后,将调用 notify()

但是,当它被唤醒时,如何确保它丢弃缓冲区(无用的零)并再次读取文件?

预先感谢

0 投票
2 回答
31036 浏览

java - BufferedInputStream 到 byte[] 以通过 Socket 发送到数据库

我一直在寻找这个问题的答案,但实际上找不到任何东西。今天早些时候,我问我如何通过字节数组将文件变成字符串,然后再返回,以便稍后检索。

人们告诉我,我必须只存储字节数组,以避免讨厌的编码问题。所以现在我已经开始努力了,但我现在碰壁了。

基本上,我之前使用无缓冲流将文件转换为字节数组。这在理论上很有效,但它会占用大量内存,最终会抛出堆大小异常。我应该改用缓冲流(或者我被告知),我现在遇到的问题是从 BufferedInputStream 到 byte[]。我尝试复制和使用本文档中的方法

http://docs.guava-libraries.googlecode.com/git/javadoc/index.html?com/google/common/io/package-summary.html

我将无缓冲流交换为缓冲流。唯一的问题是,我不能直接将缓冲的输出流转换为字节数组,就像使用无缓冲的流一样。

帮助?:)

编辑:

我仍然收到堆空间错误。所以我现在将发布所有代码:

main.java

BufferedByteStream.java

0 投票
1 回答
904 浏览

java - RXTX 问题 - 接收到的字节数错误

我在从微控制器检索数据时遇到了一些困难。我正在以正好 2000 字节的块传输数据,并编写了一个线程来处理这 2000 字节,然后再进行新的调用以发送下一个 2k 字节。在大多数情况下,它工作得很好,但有时我倾向于得到一个字节太多,或者由于某种原因一个字节太少,这仅在case #2期间。如果我使用案例#1,它总是完美无缺,但由于某种原因它非常慢。我们在 10 秒内谈论了大约 2000 个字节,当我将串行端口设置为以 115.200 波特工作时,这太慢了。

案例#1(总是有效,但速度很慢)

案例 #2(有时会卡住,但非常快)

还有另一个工作线程处理传入的数据并执行一些操作,这不是同步问题或类似问题。它归结为要么得到一个太多字节,要么得到一个字节到几个字节,这导致我的计算字节数的线程卡住了,期待多一个字节。我使用 RealTerm(一个串行控制台程序)来检索相同的东西,而且它每次都能快速准确地完成它。在添加 BufferedInputStream 时,情况 #2的情况似乎更好一些,但问题仍然偶尔发生。

我的问题是:available() 方法真的不可靠会导致这些问题吗?或者这是串行通信或 RXTX 库的问题?有没有更好的方法来处理这个?检索 2000 个字节,处理它们,然后再请求 2000 个字节。#1 案例在串行端口上接收数据是否应该这么慢?

任何带有示例的想法都会有很大帮助。