3
可以使用SeekableByteChannel從文件中讀取行。我有位置(以字節爲單位)並且想要讀取整行。比如我用的RandomAccessFile使用SeekableByteChannel從文件中讀取行
private static String currentLine(String filepath, long currentPosition)
{
RandomAccessFile f = new RandomAccessFile(filepath, "rw");
byte b = f.readByte();
while (b != 10)
{
currentPosition -= 1;
f.seek(currentPosition);
b = f.readByte();
if (currentPosition <= 0)
{
f.seek(0);
String currentLine = f.readLine();
f.close();
return currentLine;
}
}
String line = f.readLine();
f.close();
return line;
}
我如何使用像這樣的SeekableByteChannel這種方法,並會更快讀取行龐大的數字?
使用,而不是同時請! –
但是這需要所有線路具有相同的長度?! – yankee
讓我們假設文件內部的行長是未知的。最好的方式來實現ByteBuffer.allocate(???)。謝謝 – Al2x