我真的很失望,讨论一个类似的Java 6文件删除问题,无法找到这些类似的帖子上删除Post1和Post2这些类似的帖子上的解决方案。用随机访问文件删除Java 6文件
我正在从FTP服务器下载文件的应用程序。此下载是通过获取流,从此流中读取并将其写入文件RandomAccessFile
来实现的。如果下载损坏,我希望删除磁盘上的文件。
我无法手动或通过应用程序删除该文件。很明显,某些文件处理程序仍然因文件删除失败而导致文件锁定。 但是,我无法理解哪些文件处理程序拥有文件锁,因为我已确保关闭所有文件和流对象。
最后,该代码段
public class OprDownload extends Observable implements Runnable
{
public void run()
{
//Code to connect to ftp,obtain the stream and write to a file
if (download complete)
{
if(mwwObjFile!=null)
{
mwwObjFile.close();
}
if(stream!=null)
{
stream.close();
}
if(compareChecksum())//If checksum match success
{
updateDownloadDetails();
cwwIntStatus = COMPLETE;
}
else
{
cwwIntStatus = CHECKSUM_FAIL;
deleteCorruptUpdateFromDownloadsFolder();
}
}
}
public void deleteCorruptUpdateFromDownloadsFolder()
{
String fileOndisk = "FileName";
File mwwFileToBeDeleted = new File(fileOndisk);
if(mwwFileToBeDeleted .exists())
{
System.out.println("File Deleted"+mwwFileToBeDeleted .delete());
}
}
}
是否从文件中读取比较校验和代码?如果是,它是否关闭所有流? – 2011-12-27 07:36:29
宾果! 好吧我不相信我没有关闭比较校验和代码中的文件对象。谢谢 – shabeena 2011-12-27 07:41:09