所以我有一种将字符串写入文件的方法:
public static void saveStringToFile(String path, String string) {
File file = new File(path);
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
FileWriter out = null;
try {
out = new FileWriter(path);
out.write(string);
if (out != null) {
out.close();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
我的测试类具有以下 setUp 方法,该方法在每次测试之前运行(在每个测试之前删除测试文件):
public static final String TEST_FILE = "somefile.xml";
//...
@Before
public void setUp() throws IOException {
if (MyCustomClass.fileExists(TEST_FILE)) {
new File(TEST_FILE).delete();
}
}
我的每个测试都尝试使用该方法向文件写入内容saveStringToFile()
。它成功了几次,但我终于得到了一个随机点java.io.IOException: Access is denied
。不知道为什么会发生这种情况 - 有时它发生在 test1 中,有时在 test3 中......
当我使用 Java7 FileIO 时,它工作正常,但我需要迁移回 Java6 ......