0

Javaで隠しファイルを作成する方法を理解したので、ファイルに大量のデータを書き込む必要があります。次の例外が発生し続けます。SEVERE: java.io.FileNotFoundException: <filepath>\tmp (Access is denied)

これが私が試して解決策を得るために取った2つのアプローチですが、両方のアプローチで同じ例外があります。注: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;
                }

同じファイルオブジェクトを使用して2つにアプローチします。

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() が返すメソッドを確認してください。

false の場合は書き込みできません。

于 2012-11-28T16:15:05.803 に答える
-1

Unix には魔法はありません。.ファイル名の先頭に a を追加するだけです。Windows では、これは Java では実現できません。ネイティブ コマンドが必要です。これがNIO2で動作しますように。

于 2012-11-28T16:13:42.060 に答える