我正在为其中试图覆盖的IOException捕获的代码编写测试。 try / catch看起来像这样:
try {
oos = new ObjectOutputStream(new FileOutputStream(cacheFileName));
} catch (IOException e) {
LOGGER.error("Bad news!", e);
} finally {
最简单的方法似乎是使FileOutputStream抛出FileNotFoundException,但也许我会用所有错误的方式。
有人在那里有提示吗?
最佳答案
根据您的评论:
是的,我想这个问题应该
确实是“我如何创建一个
在两个Linux上都不存在的文件
和Windows?”在Windows上,我可以使用
'new File(“ X:/”)',其中X:是驱动器
不存在的字母。在Linux上,
这不起作用,因为那是一个
有效的文件名。
查看java.io.File.createTempFile。使用它来创建文件,然后将其删除。
可能将其传递为:
File tempFile;
tempFile = createTempFile(getClass().getName(),
Long.toString(System.currentTimeMillis());
tempFile.delete();
这应该以平台独立的方式为您提供一个唯一的名称,您可以安全地使用它,而不必(非常)担心它的存在。
关于java - 强制FileNotFoundException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/604449/