【问题标题】:I have an error with OutputStream我有一个输出流错误
【发布时间】:2012-05-23 09:32:19
【问题描述】:

我正在尝试解压缩一个名为“resources.zip”的文件,但当我解压缩时出现此错误。

java.io.FileNotFoundException: C:\Users\User\AppData\Roaming\VAPOUR\Destiny\resources (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at classes.a.extractFolder(a.java:198)

在第 198 行……是的;

OutputStream outStream = new FileOutputStream(output2.toString());

如果您需要更多,我可以随时添加一些! :) 感谢您的帮助 :)

【问题讨论】:

  • 错误显示resources 而不是resources.zipoutput2 的确切值是多少?
  • 它在 C:\Users\User\AppData\Roaming\VAPOUR\Destiny\resources

标签: java outputstream fileoutputstream


【解决方案1】:

如果您在尝试写入文件之前调用“outputs.mkdirs()”,那么问题在于您正在创建一个目录,该目录是您尝试写入的文件的名称。

为了创建目录和文件,请执行以下操作:

File f = new File("...");

// create all parent dirs for the target file
f.getParentFile().mkdirs();

// ... now write the file itself ...

【讨论】:

    【解决方案2】:

    确保您尝试访问的文件存在(文件NotFound异常),并确保您有权读取它。也可能不允许您将 .zip 文件作为目录打开(您尝试访问 resources,而不是 resources.zip)。也许尝试直接访问resources.zip而不是访问目录然后访问文件?

    希望这会有所帮助!

    【讨论】:

      【解决方案3】:

      如果您尝试写入的目录不存在,通常会引发该异常

      【讨论】:

      • outputs.mkdirs();在 OutputStream 之前 outStream = new FileOutputStream(outputs.toString());
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      相关资源
      最近更新 更多