2012-02-21 74 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()

原子地创建由此抽象路径名 命名当且仅当这个名称的文件尚不存在的新的空文件。 检查文件是否存在,如果文件不存在 ,则创建该文件是一个操作,该操作对于可能影响该文件的所有其他 文件系统活动是原子的。

相关问题