我目前在我的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();
}
}
}
我的问题是: 如何在下次删除时关闭此文件(或者如果无法关闭该文件,如何正确地删除它)?