2013-02-12 25 views
0
try (BufferedReader br = new BufferedReader(new FileReader("Templates/format/test.txt"))) 
{ 

    String sCurrentLine; 

    while ((sCurrentLine = br.readLine()) != null) { 
     System.out.println(sCurrentLine.toString().trim()); 
     if(sCurrentLine.toString().trim().equalsIgnoreCase("Test2")){ 
      System.out.println("HI: "+sCurrentLine.toString().trim()); 
     } 

    } 

} catch (IOException e) { 
    e.printStackTrace(); 
} 

我嘗試得到一個.txt的內容,但沒有我在做什麼錯誤加載一個.txt文件?

if(sCurrentLine.toString().trim().equalsIgnoreCase("Test2")){ 
    System.out.println("HI: "+sCurrentLine.toString().trim()); 
} 

if(sCurrentLine.toString().trim().equals("Test2")){ 
    System.out.println("HI: "+sCurrentLine.toString().trim()); 
} 

作品。

這是TXT的內容:

Text1 
Text2 
Text3 

我也弄不明白爲什麼這樣的:System.out.println(sCurrentLine.toString().trim());導致控制檯下面的輸出。爲什麼我會在開始時獲得休息和符號?

þÿ T e s t 1 
T e s t 2 
T e s t 3 

感謝您幫助我在這裏!

+2

看起來像一個編碼問題。你創建了這個文件還是隻是想處理它? – Perception 2013-02-12 12:49:35

+1

這只是一個想法,是否有可能在開始時有一個[BOM](http://en.wikipedia.org/wiki/Byte_order_mark)? – jellyfication 2013-02-12 12:49:59

+0

聽起來像一個編碼問題,看看這個:http://stackoverflow.com/questions/13748613/reading-from-utf-16-encoded-text-file-y-is-prepended-on-the-front – tehlexx 2013-02-12 12:50:15

回答

1

將您的.txt文件轉換爲不帶BOM的UTF-8。您可以使用Notepad ++或任何其他高級文本編輯器來做到這一點。

+0

謝謝。幫了我很多。我會很快發佈我的解決方案。 – Alex 2013-02-12 15:36:19

相關問題