【问题标题】:Java error try with resource not applicable to variable typeJava 错误尝试资源不适用于变量类型
【发布时间】:2015-01-14 16:15:20
【问题描述】:

在这一行出现错误

try (FileInputStream fis = new FileInputStream("E:/encryptedfile.des"))

错误:尝试使用不适用于所需变量类型的资源:java.lang.Autocloseable, 发现:java.io.file.inputstream.can 任何人都可以告诉我该错误的最佳解决方案

【问题讨论】:

  • 请复制并粘贴准确错误信息。我怀疑它是否包括:found:java.io.file.inputstream。另外,请告诉我们您正在构建的 Java 版本。
  • 您的环境似乎有问题。您是否有可能以某种方式在旧 JDK 中使用 java 7 语法?
  • 同意 Jon Skeet 的观点。另外,您能否发布更大的代码片段? try(...) 可能还不够。发送try的正文:try(...) {...}

标签: java try-catch


【解决方案1】:

您可能忘记更新构建路径上引用的 JRE 类。我敢打赌,因为您没有使用 JDK 7 库,而是仍在引用旧库。在 java 7 中,您必须为所有输入/输出流实现 Autocloseable。如果要针对 JDK .7 构建,请尝试将引用的类更改为可能的最新类。

编辑:如果您使用的是 Eclipse...

要更改此设置:转到 Window->Preferences->Java->Installed JRE's 并确保您指向正确的 JDK。

【讨论】:

  • 它很可能与其他东西有关,但这是我从 Java 6 切换到 Java 7 时得到的修复。
  • 最后一行假设 OP 使用 Eclipse。即使是这样,您也应该指向 JDK,而不是 JRE。
  • 哦,我终于明白了,我用的是netbeans IDE 7.0,它不再支持jdk7.0。所以我认为这可能是问题,因为相同的程序在netbeans IDE 7.2中工作没有任何错误。谢谢你们,你们节省了我的时间。
猜你喜欢
  • 2019-07-30
  • 2017-10-29
  • 2019-09-04
  • 2017-07-31
  • 2020-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-29
相关资源
最近更新 更多