これまでのところ、ディレクトリ内のすべてのファイルを削除するコードを書いています:
@ViewScoped
@ManagedBean
public class Delete {
public void DeleteFiles() throws IOException {
System.out.println("Called deleteFiles");
File file = new File("D:/Documents/NetBeansProjects/printing~subversion/fileupload/build/web/resources/pdf/up617648/");
String[] myFiles;
if (file.isDirectory()) {
myFiles = file.list();
for (int i = 0; i < myFiles.length; i++) {
File myFile = new File(file, myFiles[i]);
System.out.println(myFile);
myFile.delete();
}
}
}
}
これを呼び出すと、すべてのファイルが呼び出されていることがわかりますが、何も削除されません。これはなぜですか、コンソールに次のように表示されます。
INFO: Called deleteFiles
INFO: D:\Documents\NetBeansProjects\printing~subversion\fileupload\build\web\resources\pdf\up617648\1.png
INFO: D:\Documents\NetBeansProjects\printing~subversion\fileupload\build\web\resources\pdf\up617648\lecture04_A_slides.pdf
パス内のすべてのファイルが削除されますが、Netbeans では、このフォルダーへの直接パスが空であっても、リソース フォルダー内のファイルを表示できます。クリーン ビルドを実行しました。
これは少し奇妙です。ディレクトリからファイルを正常に削除します.Netbeansではまだファイルが表示され、netbeansを再起動すると、ファイルがディレクトリに戻ってきます.