-1
我正在製作一個基本上從txt文件加載的小程序。該txt文件具有以下數據:閱讀線每隔一行跳過
NAME1, xx, xx, xx, xx (Where XX are numbers)
NAME2, xx, xx, xx, xx
etc...
該文件沒有設置結束,因爲它可以稍後編輯以添加其他名稱。 我要讀它的代碼如下:
private void doLoadProfile() {
String filePath = System.getProperty("user.dir") + File.separator + "profiles.txt";
System.out.println(filePath);
try {
FileInputStream fis = new FileInputStream(filePath);
BufferedReader in = new BufferedReader(new InputStreamReader(fis));
while (in.readLine() != null) {
displayLog.appendText(in.readLine() + "\n");
}
} catch (FileNotFoundException e) {
displayLog.appendText("\n Error: file not found" + e.toString());
} catch (IOException e) {
displayLog.appendText("\n Error: " + e.toString());
}
}
然而,這只是所有其他線路輸出,由於某種原因,它跳過線(我有一個txt文件,4號線,我只得到了第2和第4線)。我嘗試添加額外的2條線,並再次獲得第2,第4和第6。
每個'readLine'調用遍歷到下一行並返回它,也是在'while'條件中的一個。您需要閱讀一次,存儲在變量中,並在需要時使用變量。現在,重複的地方(使用googling for'java readline跳過行'可能與'site:stackoverflow.com'結果來自這個網站)。 – Pshemo
那麼,你每次迭代調用readLine()兩次。別。調用一次,將結果存儲在一個變量中,檢查它是否爲空,然後追加它。或者使用readAllLines(https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#readAllLines-java.nio.file.Path-) –