2011-02-08 37 views
0

junvalue我已經寫了下面的代碼讀取系統生成的文件爲計劃任務即SchedLgU.txt以用java PROG獲得輸出與盒

File f = new File("C:\\WINDOWS\\Tasks\\SchedLgU.Txt"); 
FileInputStream fstream = new FileInputStream(f); 
// Get the object of DataInputStream 
DataInputStream in = new DataInputStream(fstream); 
BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
String line=""; 
do{ 
    line = br.readLine(); 
    System.out.println(line); 
} while(br.readLine()!=null); 

我收到一些垃圾值與文字閱讀SchedLgU.txt以文件框。

我有什麼不同的格式需要定義?

回答

2

那麼,你使用InputStreamReader沒有指定字符編碼 - 所以它將始終使用平臺默認編碼。它看起來像這個文件是UTF-16(至少在我的盒子上)。只要將該編碼傳遞給InputStreamReader構造函數即可正確讀取文件。

嘗試與您的測試程序,似乎工作。需要注意的是有使用DataInputStream如果你只是把它包起來在InputStreamReader沒有意義 - 只是直接通過FileInputStreamInputStreamReader構造:

BufferedReader br = new BufferedReader(new InputStreamReader(fstream, "UTF-16"));