В Java, там какой-либо метод для чтения конкретной строки из файла? Например, считайте строку 32 или любой другой номер строки.
Если у вас нет предыдущего Зная о строках в файле, невозможно получить прямой доступ к 32-й строке, не прочитав 31 предыдущую строку.
Это верно для всех языков и всех современных файловых систем.
Таким образом, вы просто читаете строки, пока не найдете 32-ую строку.
Я думаю, что вы ищете echoerr
.
Нет, если только в этом формате файла длины строк не определены заранее (например, все строки с фиксированной длиной), для их подсчета необходимо выполнить итерацию «строка за строкой».
Иоахим прав на , конечно, и альтернативная реализация для Криса (для небольших файлов только потому, что он загружает весь файл) может заключаться в использовании commons-io из Apache (хотя, возможно, вы можете не захотеть вводить новую зависимость только для этого, если вы считаю, что это полезно и для других вещей, это может иметь смысл).
Например:
String line32 = (String) FileUtils.readLines(file).get(31);
http://commons.apache.org/io/api-release/org/apache/commons/io/FileUtils.html#readLines (java.io.File , java. lang.String)
Не знаю, но вы могли бы перебрать первую 31 строку, ничего не делая. используя функцию readline () из BufferedReader
FileInputStream fs= new FileInputStream("someFile.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fs));
for(int i = 0; i < 31; ++i)
br.readLine();
String lineIWant = br.readLine();
Если вы говорите о текстовом файле, то на самом деле нет способа сделать это, не прочитав все предшествующие ему строки - в конце концов, строки определяются наличием новой строки, поэтому ее нужно прочитать.
Используйте поток, поддерживающий строку чтения, и просто прочтите первые строки X-1 и выгрузите результаты, а затем обработайте следующую.