2012-02-21 115 views
17

我想輸出文本到Java中的資源文件,像這樣:如何查看Java中是否存在資源文件?

File file = new File(MLM.class.getClassLoader().getResource("mazes.txt").toString()); 
BufferedWriter out = new BufferedWriter(new FileWriter(file)); 
.. 

但由於資源文件尚未創建,我得到一個空指針異常。如何創建一個空白的資源文件,如果它不存在已經可以避免這個錯誤?

+0

請檢查這個帖子:http://stackoverflow.com/questions/1816673/how-do-i-check-if-a-file-exists-java-on-windows – adis 2012-02-21 16:00:45

回答

32

一個簡單的空檢查就足夠了

URL u = MLM.class.getResource("/mazes.txt"); 
if (u != null) { 
     ... 
} 

從Javadoc文檔getResource

返回:如果與此名稱的資源被發現
一個URL對象或null

+3

沒有爲我工作,但MLM.class.getResource(「mazes.txt」)工作。 – Anthony 2016-04-16 13:04:24

+0

我需要一個絕對路徑,就像這個'MLM.class.getResource(「/ mazes.txt」)' – user6537157 2017-10-23 08:29:44

1

你可以在你的代碼之前使用:

File.createNewFile()

原子地創建由此抽象路徑名 命名當且僅當這個名稱的文件尚不存在的新的空文件。 檢查文件是否存在,如果文件不存在 ,則創建該文件是一個操作,該操作對於可能影響該文件的所有其他 文件系統活動是原子的。

相關問題