java - 一起使用 BufferedReader 和 InputStream

标签 java inputstream bufferedreader

我使用 BufferedReader 从 InputStream 读取行。当我直接从 InputStream 读取某些内容时,BufferedReader 会忽略我的读取并继续在同一位置读取。是否可以阻止这种行为?如果不是,那么这样做的好习惯是什么?

PS:这是我的代码:

byte[] ba = new byte[1024*1024];
int off = 0;
int len = 0;
do {
    len = Integer.parseInt(br.readLine());
    in.read(ba, off, len);
    br.readLine();
    off += len;
} while(len > 0);

in 是我的输入流,br 是我的 bufferedreader。

最佳答案

If not what is a good practice to do this?

这不是一次读取同一个文件的 2 个流的好方法。您必须仅使用一个流。

BufferedReader 用于字符 流,而InputStream 用于二进制 流。

A binary stream doesn't have readLine() method that is only available in character stream.

关于java - 一起使用 BufferedReader 和 InputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24996050/

相关文章:

java - 无法使用 XML 文件。输入流为空

java - 有人可以帮助我让缓冲阅读器在 Java 中工作吗?

java - 使用java读取文本文件,eclipse开普勒

java - 将领域模型与表示分离

java - 为什么线程优先级不起作用?

java - 从局部变量创建 ByteArrayInputStream 是否有效?

java - java.io.PrintWriter 和 java.io.BufferedWriter 的区别?

java - 将两个数组合并为一个

Java:如果我覆盖 .equals 方法,我仍然可以使用 == 测试引用相等性吗?

java - 不支持mark时如何正确实现InputStream.mark()