0

我已经弄清楚如何在 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;
            }
4

2 回答 2

0

当您尝试写入目录类型的文件时,您可能会遇到异常。检查 toOverWrite.isFile() 返回什么方法;

如果是假的,你就不能写。

于 2012-11-28T16:15:05.803 回答
-1

Unix 没有魔法。只需.在您的文件名前添加一个。在 Windows 下,这不能用 Java 实现。您需要本机命令。愿这适用于 NIO2。

于 2012-11-28T16:13:42.060 回答