我想要立刻掌握流和套接字,所以我想爲早期測試做的只是從普通的txt文件中讀取行。通過相對路徑創建文件不能與IDE協同工作
我第一設置它通過的IntelliJ IDE和代碼如下,
package NixWichtiges;
import java.io.*;
/**
* Created by Wolfone on 08.03.2017.
*/
public class StreamReadTest {
public static void main(String[] args) {
BufferedReader bufferedReader = null;
try {
bufferedReader = new BufferedReader(new FileReader(new File("test.txt")));
String message;
while ((message = bufferedReader.readLine()) != null){
System.out.println(message);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
中的test.txt位於其中StreamReadTest.java位於同一文件夾和我檢查它是包含在通過在IntelliJ中執行「運行」而創建的編譯輸出的相應路徑中。但我不斷收到fileNotFoundException。
我更加困惑的事實是,當我在我的另一臺計算機上通過commandline-comilation和execution執行它時,它工作得很好(使用此測試的默認包)。
有人可以解釋發生了什麼問題嗎? 在此先感謝您的任何意見。
最良好的祝願 Wolfone
除非你使用特定的路徑,在上下文中的文件必須在路徑從哪裏調用JVM。 –
idea從根項目目錄運行項目,所以在你的情況下,你應該把'new File(「test.txt」)''改成'new File(「src/main/java/NixWichtiges/test.txt」)'文件到根項目目錄 –
啊,好吧,我認爲它會是這樣的雷迪,但我沒有想到這個想法會從一個不同的位置運行整個事情的可能性比我所使用的主要類,所以謝謝Slava對你的回答。解決了我的問題:) – Wolfone