したがって、文字列をファイルに書き込む方法があります。
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 に戻す必要がありました...