如何以最有效的方式从文件中读取一行(由\n
或\r
或两者完成)作为字节数组,而不通过String
(如果我将行读入String
,应用了默认编码,我不希望这一步。)
答案 0 :(得分:1)
如果不手动操作,我认为你不能这样做。但为了节省您的时间,我会为您编写代码:
public static byte[] firstLine(InputStream in) {
byte[] buffer = new byte[1024]; // arbitrary number
int idx = 0;
byte b;
while ((b = in.read()) != 0x0d || b != 0x0a) { // those codes are CR and LF
if (idx >= buffer.length)
buffer = Arrays.copyOf(buffer, buffer.length * 2);
buffer[idx] = b;
return Arrays.copyOf(buffer, idx);
}