我已经想出如何在Java中创建隐藏文件,现在我需要将大量数据写入文件。我不断收到以下异常:SEVERE: java.io.FileNotFoundException: <filepath>\tmp (Access is denied)
以下是我尝试获得解决方案的两种方法,但我对这两种方法都有相同的例外。注意:在两种情况下,toOverwrite都是隐藏文件。
File fileByteText = new File("./testFile.txt");
File toOverwrite = new File("./tmp");
//Assume toOverwrite is hidden
boolean toReturn = true;
try {
byte[] fileByteText = FileUtils.readFileToByteArray(toGetTextFrom);
FileUtils.writeByteArrayToFile(toOverwrite, fileByteText, false);
toReturn = false;
} catch (IOException e) {
bam.severe(e);
toReturn = true;
}
使用相同的文件对象接近两个:
try {
String fileText = FileUtils.readFileToString(toGetTextFrom);
FileWriter fw = new FileWriter(toOverwrite.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(fileText);
bw.close();
toReturn = false;
} catch (IOException e1) {
bam.severe(e1);
toReturn = true;
}
答案 0 :(得分:0)
当您尝试写入目录类型的文件时,可能会出现异常。
检查OverWrite.isFile()返回的方法;
如果错,你就不能写。
答案 1 :(得分:-1)
Unix中没有魔力。只需在文件名前添加.
。在Windows下,使用Java无法实现这一点。你需要本机命令。愿这适用于NIO2。