我使用 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 incharacter
stream.
关于java - 一起使用 BufferedReader 和 InputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24996050/