Я пытаюсь прочитать файл ascii и распознать позицию символа новой строки «\ n», чтобы узнать, сколько и сколько символов у меня есть в каждой строке. Размер файла - 538 МБ. Когда я запускаю код ниже, он никогда ничего не печатает. Я много искал, но я ничего не нашел для файлов ascii. Я использую netbeans и Java 8. Любые идеи?Чтение файла ascii по строкам - Java
Ниже приведен мой код.
String inputFile = "C:\myfile.txt";
FileInputStream in = new FileInputStream(inputFile);
FileChannel ch = in.getChannel();
int BUFSIZE = 512;
ByteBuffer buf = ByteBuffer.allocateDirect(BUFSIZE);
Charset cs = Charset.forName("ASCII");
while ((rd = ch.read(buf)) != -1) {
buf.rewind();
CharBuffer chbuf = cs.decode(buf);
for (int i = 0; i < chbuf.length(); i++) {
if (chbuf.get() == '\n'){
System.out.println("PRINT SOMETHING");
}
}
}
Вы просмотрели http://stackoverflow.com/questions/4716503/best-way-to-read-a-text-file-in-java? –
Я уже видел этот пост, но с BufferReader он бросает мне ошибку Java Out of Memory, поэтому я не могу использовать функцию readline(). – lostromos
Используйте 'RandomAccessFile' вместо' FileReaders' для больших файлов. – ccc