我是java的新手。我正在阅读一个使用BufferedReader
的大文件。我怎样才能知道一行的偏移量,以便我可以将它存储在其他文件中以用于索引目的?使用BufferedReader了解文件的偏移量?
编辑: 这里是我的代码
path=FileSystems.getDefault().getPath(".",filename);
br=Files.newBufferedReader(path_doc_title_index_path, Charset.defaultCharset());
int offset=0; //offset of first line.
String strline=br.readline();
offset+=strline.length()+1; //offset of second line
偏移没有意义了'读者'因为那些读*字符*,而不是*字节*。您无法高效地寻找UTF-8文件中的字符。你可能不得不在较低的水平上工作并自己追踪线路。 FileChannel类有一个['position()'方法](http://docs.oracle.com/javase/6/docs/api/java/nio/channels/FileChannel.html#position()),它保持自动跟踪。或者你必须从'InputStream'中自己读取行,并跟踪读取的字节。 – millimoose