2017-01-01 6 views
-6

Я просто хочу прочитать некоторые конкретные строки из текстового файла не все строки. Я попытался следующий код:Чтение строк из текстового файла

public class BufferedReaderDemo { 

    public static void main(String[] args) throws IOException { 

     FileReader fr = new FileReader("Demo.txt"); 
     BufferedReader br = new BufferedReader(fr); 
     String line = br.readLine(); 

     while(line!=null) 
     { 
      System.out.println(line); 
      line = br.readLine(); 
     } 

     br.close(); 
    } 
} 

Используя этот код, который я могу получить все линии. Но я хочу напечатать некоторые конкретные 2-3 строки в консоли, которые начинаются с «пространства имен» и заканчиваются на «Консоль».

Как я могу это достичь?

+1

* «Как я могу достичь этого?» * Используя инструкцию 'if'. – Andreas

+0

Добро пожаловать в переполнение стека. Пожалуйста, прочитайте http://stackoverflow.com/help/how-to-ask Это может также помочь, если вы указали данные, которые вы читаете – Mikkel

ответ

0

Использование String.startsWith и String.endsWith:

while(line!=null) 
{ 
    if(line.startsWith("namespace") && line.endsWith("Console")) { 
     System.out.println(line); 
    } 
    line = br.readLine(); 
} 
1

У вас нет выбора, если вы хотите знать, если строка содержит несколько конкретных слов, вы должны прочитать его.

Если вы хотите только напечатать эти строки, вы можете добавить условие перед их печатью.

String line = br.readLine(); 

while(line!=null){ 
    if (line.startsWith("namespace") && line.endsWith("Console")){ 
     System.out.println(line); 
    } 
    line = br.readLine(); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^