[英]Java apache IOUtils: how to delete a file after read it into a byte array?
因此,我尝试使用apache公共库将文件读入字节数组,然后删除文件本身。 但是我做不到。 有人可以让我知道为什么吗?
File aFile = new File("path_To_A_PDF_File");
byte[] fileBytes = IOUtils.toByteArray(new FileInputStream(aFile));
boolean result = aFile.delete();
System.out.println("is file " + aFile.getAbsolutePath() + " deleted? " + result);
如何删除该文件? 谢谢
您必须关闭通过以下方式打开的流:new FileInputStream(aFile)
File
类包含一个可帮助解决此问题的方法。 调用deleteOnExit()
然后让JVM为您清理它。
aFile.deleteOnExit();
根据链接的Javadoc,
请求在虚拟机终止时删除此抽象路径名表示的文件或目录。
我认为您仍然在aFile上打开了FileInputSteam。 在其上尝试使用IOUtils.closeQuietly()(现在需要将其设置为局部变量,而不是匿名变量)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.