2012-04-21 4 views
0

Если у меня есть код, например input = new BufferedReader(new FileReader(args[0])); И входной файл содержит пары строк, как я могу сделать так, чтобы импортировать только первую строку из каждой строки? Так, другими словами, каждая строка нечетных номеров? СпасибоЧтение определенных строк только с ввода?

+1

Прочитать все строки и игнорировать четные? – Tudor

ответ

1

Возможно, вам понравится использовать java.io.LineNumberReader, чтобы сделать фильтрацию нечетных линий (lineNo % 2 == 1) проще. Или в альтернативном подходе, если вы используете JDK7, вы можете использовать метод java.nio.files.Files.readAllLines() и снова фильтровать нечетные на итерации.

+0

Если я использовал это, а затем сделал что-то вроде: 'String line = input.readLine();' 'while (lineNo% 2! = 1)' Do something' будет ли это работать? – AkshaiShah

0
String line = input.readLine(); 
while (line != null) { 
    // do something with the line 

    // Skip every other line 
    input.readLine(); 
    // Get next line 
    line = input.readLine(); 
} 
0

что-то вроде этого будет читать в файле и давать вам каждую вторую строку в строковом буфере.

BufferedReader br = new BufferedReader(new FileReader(args[0])); 
String line; 
StringBuffer endResult = new StringBuffer(1000); 
int lineNumber=1; 
while ((line=br.readLine()) != null) { 
    //every odd line will be added, 1, 3, 5 etc 
    if (lineNumber++%2==1) { 
     endResult.append(line+"\n"); 
    } 
} 
Смежные вопросы