2015-11-11 2 views
0

У меня есть простой текстовый файл:Простого Java Textfile не разбор Правильно

type = "hello" 
number = 66 

type = "hey" 
number = 77 

Я в основном просто проверка, чтобы увидеть, если «тип» строки найден в текстовом файле, если да, то я хотел бы также для получения значений «привет» и «эй», т. е. типов. Тем не менее, моя программа не работает вообще в этом смысле, она все всегда печатает нет, проверяя, есть ли «тип» в файле.

public static void main(String[] args) { 
    if(args.length == 1) 
     parseText(argv[0]); // call with textfile name 
} 
public void parseText(String inPath) { 
     try { 
     Scanner s = new Scanner(inPath); 
     while(s.hasNextLine()) { 
      if("type".equals(s.nextLine().trim())) 
       System.out.println("Yes"); 
      else { 
       System.out.println("no"); 
      } 

     } 
     }catch (Exception e) { 
      System.out.println("\nFILE NOT FOUND"); 
     } 

} 

Любая помощь будет очень признательна.

+0

Если вы хотите прочитать из файла, вам нужно будет открыть один с 'новый сканер (новый файл (inPath)),' как минимум. Как бы то ни было, вы просто просматриваете строку, переданную в командной строке. – JRD

ответ

2
if("type".equals(s.nextLine().trim())) 

Вы действительно хотите прочитать строку данных из файла в строку, чтобы вы могли обрабатывать строку.

Вы хотите знать, если строка начинается с «типа»:

String line = s.nextLine() 

if (line.startsWith("type")) 
{ 
    String value = line.substring(8); 
    System.out.println(value); 
} 
+0

Хорошо, но я все еще смущен тем, как я получу значения «привет» или «эй»? – user3739406

+0

Ahh Я вижу, как это работает сейчас, спасибо. – user3739406

2

Проверьте, если строка начинается с «типа» (не равно «типа»).

if("type".equals(s.nextLine().trim())) 

должно быть что-то вроде

String line = s.nextLine().trim(); 
if (line.startsWith("type")) 
Смежные вопросы