我正在尝试使用包含数据行的.dat文件。每行以字符序列开头,例如ABC1 ... 99;但将包含int,long和char的混合。每行以换行符结束。
我正在尝试检测数据行末尾的新行字符,我应该怎么做才能找到正确的换行符。
下面的代码打开文件,缓冲它并将缓冲区打印为char以进行调试
RandomAccessFile file2 = null;
try {
file2 = new RandomAccessFile(sampleFile.dat, "r");
FileChannel fileChannel = file2.getChannel();
ByteBuffer buffer = ByteBuffer.allocate(48);
int bytes = fileChannel.read(buffer);
bytes = fileChannel.read(buffer);
while (bytes != -1) {
buffer.flip();
while (buffer.hasRemaining()) {
System.out.print((char) buffer.get());
}
buffer.clear();
bytes = fileChannel.read(buffer);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
file2.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}