Java apache IOUtils:如何将文件读入字节数组后删除?

时间:2014-10-20 15:29:03

标签: java

所以我试图使用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);

如何删除该文件?感谢

3 个答案:

答案 0 :(得分:1)

您必须关闭由以下内容打开的流:new FileInputStream(aFile)

答案 1 :(得分:0)

File类包含一个帮助解决此问题的方法。调用deleteOnExit()并让JVM稍后为您清理它。

aFile.deleteOnExit();

根据链接的Javadoc,

  

请求在虚拟机终止时删除此抽象路径名表示的文件或目录。

答案 2 :(得分:0)

我认为您仍然在File上打开FileInputStream。在它上面试试IOUtils.closeQuietly()(你需要把它变成一个局部变量,而不是现在的匿名)。