2017-01-12 4 views
-2
File[] hiddenFiles = directory.listFiles((FileFilter) HiddenFileFilter.HIDDEN); 
for (File hiddenFile : hiddenFiles) { 
    String hidden = hiddenFile.getCanonicalPath(); 
    File file = new File(hidden); 
    file.deleteOnExit(); 
} 

私は隠しファイルを削除するが、この1つは動作していないため、この1を試してみました。他の解決策はありますか?Javaで隠しファイルを削除するには?

+5

http://importblogkit.com/2015/07/does-not-work/ – Biffen

+1

正確に何が機能していませんか?プログラムが隠しファイルを見つけられない、またはそのファイルを削除できないのでしょうか? ''新しいファイル(隠し)へ;;私は、私はあなたが '新しいファイル(「hiddenfile」)を変更する必要があると言うでしょう推測しなければならない場合や' –

+0

@Guruあなたは 'hiddenFiles'を削除しようとしていますか?そのコードはそれを達成するのには至りません。 – Biffen

答えて

2

隠しファイルと通常のファイルを削除するに違いはありません。 これはうまくいくはずですが、あなたの場合は "hiddenFile"というファイルを削除しようとしています。引用符を削除することをお勧めします。

File[] hiddenFiles = directory.listFiles((FileFilter) HiddenFileFilter.HIDDEN); 
for (File hiddenFile : hiddenFiles) { 
    hidenFile.delete(); 
    } 
} 
+0

私はこれを試しました。私はそれを削除できませんでした。私は結果を印刷しようとしました。結果はfalseです。 'System.out.println(hiddenFile.delete());' = false – Guru

+0

問題は別の場所にあるはずです。おそらくあなたはそれを削除する権限がありません。あなたは簡単なテストをすることをお勧めします。 java.io.FileではなくNIO2/Filesを使用するようにコードを変更してください。\t 'try { \t \t java.nio.file.Files.delete(hiddenFile.toPath()); \t}キャッチ(IOExceptionを電子){ \t \t e.printStackTrace(); \t} ' エラーを印刷することができます。一般に、このような操作にはFileではなくNIO2(ファイル)を使用することをお薦めします。お役に立てれば。 NIO2についての情報や削除方法は、https://docs.oracle.com/javase/tutorial/essential/io/delete.html –

+0

java.nio.file.DirectoryNotEmptyException:パス/ to /ファイル \tにあります。 nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:242)sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)で \t java.nio.file.Files.delete(Files.javaで \t。 scrm.hidden.mainで1079) \t(hidden.java:17)T – Guru

0

ファイルへのアクセスにはパスを使用する必要があります。 File file = new File("hiddenfile");は使用しないでください。ファイルのディレクトリパスはFile file = new File(hidden);です。

+0

私は変更されました。しかし、まだ動作していません。 – Guru

関連する問題