我安裝了tomcat,並將它與Eclipse Luna Java EE一起使用。問題是我的一個類讀取一個文本文件。當我將它作爲Java應用程序執行時,它會正確讀取文件。當我在服務器上執行它(「在服務器上運行」)時,它會以nullpointexception崩潰。Eclipse,Tomcat和MacOS X:user.dir不正確
我檢查了它正在讀取文件的路徑。當它在服務器上執行時,它會嘗試從「Eclipse.app/Contents/MacOS/」讀取文件。只是爲了它,我試圖把文本文件放在那裏,並沒有說它不再找到它,但是每當我嘗試用Scanner讀取它時,它都會產生這樣的結果:
java.util.Scanner [delimiters = \ p {javaWhitespace} +] [position = 0] [match valid = false] [need input = false] [source closed = false] [skipped = false] [group separator =。] [小數分隔符= \,] [正面前綴=] [負面前綴= \ Q- \ E] [正面後綴=] [負面後綴=] [NaN string = \ Q?\ E] [infinity string = \ Q?\ E]
永遠不會超出一行(hasNext總是爲false)。
所以,我的問題是:
1 - 我怎樣才能得到它去尋找其他地方的.txt文件(在項目的根目錄,例如)?
2 - 爲什麼掃描程序僅在運行類作爲java應用程序而不是服務器時纔在文件中找到內容?
如何檢查應用程序的類路徑,以及如何在創建File對象時獲取它? – francisaugusto
你不需要做任何事情,使用getResourceAsStream。 –
好的,我會試試!謝謝! – francisaugusto