我有一個簡單的文本文件這樣:簡單的文本文件沒有被正確解析
type = "Movie"
year = 2014
Producer = "John"
title = "The Movie"
type = "Magazine"
year = 2013
Writer = "Alfred"
title = "The Magazine"
//而且我想此刻解析,守信用「電影」和「雜誌」,有什麼奇怪的是,我的程序似乎總是跳到「雜誌」,但我的文本文件沒有問題。
public void Parse() throws IOException {
try {
BufferedReader reader = new BufferedReader(new FileReader(new File("test.txt")));
String line;
boolean flag;
flag = false;
while ((line = reader.readLine()) != null) {
if (line.contains("=")) {
String[] bits = line.split("=");
String name = bits[0].trim();
String value = bits[1].trim();
if (name.equals("type")) {
if(value.equals("\"Movie\""))
flag = false;
if(value.equals("\"Magazine\""))
flag = true;
}
}
if(flag == true)
System.out.println("flag is true");
if(flag == false)
System.out.println("Flag is false");
}
} catch (FileNotFoundException e) {
}
檢查幾如果代碼即之後的語句,如果flag == true or false
,它總是返回true,沒有虛假後。所以出於某種奇怪的原因,我永遠無法解析「電影」一詞,這一行:if(value.equals("\"Movie\""))
永遠不會返回真實,我不確定這裏有什麼問題,任何想法都將不勝感激。
你可以嘗試調試IDE中的代碼來弄清楚發生了什麼......或者你可以放一些打印語句來分析每個狀態下變量的值...... –