【发布时间】:2012-08-23 16:17:02
【问题描述】:
我的 Java 代码中的 FileOutputStream 目前存在一些问题。
实际上我正在使用 FileOutputStream 来创建文件,但是一旦创建了文件,就无法删除它。据我了解,这可能是因为 FileOutputstream 没有关闭。
在我总结的代码下面:
outFile = new FileOutputStream(dir+"\\"+fileName);
outFile.write("Test");
outFile.flush();
outFile.close();
outFile = null;
System.gc();
那么就没有办法删除文件,即使是“手动”。当我的程序启动时,我无法通过简单的 del 在 Windows 上删除它。我还尝试使用以下代码删除文件夹 dir 的内容,但也没有用:
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++ )
{
if( f[ j ].isDirectory() )
{
deleteDirectory( path+"\\"+f[ j ] );
}
f[ j ].delete();
}
}
}
所以我的问题是: 如何关闭此文件以进行下一次删除(或者如果我们无法关闭它如何正确删除它)?
【问题讨论】:
标签: java delete-file fileoutputstream