Tag: delete file

关闭使用FileOutputStream创建的文件,以进行下一次删除

我目前在Java代码中遇到了FileOutputStream的问题。 实际上我使用FileOutputStream来创建文件,但是一旦创建了文件,就无法删除它。 据我所知,这可能来自FileOutputstream未关闭的事实。 在我的汇总代码下面: outFile = new FileOutputStream(dir+”\\”+fileName); outFile.write(“Test”); outFile.flush(); outFile.close(); outFile = null; System.gc(); 然后就没有办法删除文件,即使是“手动”。 当我的程序启动时,我无法通过简单的del删除它在Windows上。 我还尝试删除文件夹目录的内容,但它也没有用,使用此代码: static public void delDir( String place ) { File path = new File( place ); System.out.println(path.exists());//return true if( path.exists() ) { File[] f = path.listFiles(); for( int j = 0 ; j < f.length ; j++ ) […]

如何删除目录但不删除文件夹的文件

我创建了一些删除文件夹中所有文件的代码,问题是这很好,我希望能够删除目录中的所有文件,但保留文件夹完整,所以我不必进入每个文件文件夹并删除其中的文件,这是我目前的代码: @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/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(); } DeleteFiles2(); } } public void DeleteFiles2() throws IOException […]

Java-Process可以删除加载的JAR吗?

您好我有以下问题: 在卸载过程中,我加载了一个JAR(jdbc-driver)。 URL pDriverJar = jarToDelete.toURI().toURL(); URL[] lURLList = new URL[]{pDriverJar}; URLClassLoader lLoader = new URLClassLoader(lURLList, Thread.currentThread().getContextClassLoader()); Thread.currentThread().setContextClassLoader(lLoader); Class aClass = Class.forName(“jdbc.Driver”); // was Oracle: oracle.jdbc.OracleDriver but should not be important if(jarToDelete.delete()){ System.out.println(“deleted”); }else { jarToDelete.deleteOnExit(); } 在终止JVM之后,jar仍然存在。 作为一个workarround,我创建了一个临时文件,并将Jar复制到该tempfile。 但是现在Tempfile不会被删除。 我读过,如果ClassLoad是GC,可以删除加载的jar。 有没有人有想法,如何删除此文件?

强制删除文件夹中的所有文件

我一直在使用一段特定的代码来删除文件夹中的文件,但事实certificate它很成问题,因为我可能忘了关闭一两个InputStream。 我的代码是如此之大,以至于我无法看到所有未关闭的输入流。 有没有办法删除文件是否有一个打开的InputStream? 这是我一直在使用的代码片段; File fin = new File(“C:/ABC Statements final/”); File[] finlist = fin.listFiles(); for (int n = 0; n < finlist.length; n++) { if (finlist[n].isFile()) { System.gc(); Thread.sleep(2000); finlist[n].delete(); } } 我编辑了代码。 这个版本有效。