我正在编写一些代码来删除目录中的所有文件,到目前为止我有:
@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 然后文件又出现在目录中。