无法解析符号“IOUtils”

新手上路,请多包涵

我使用以下代码在我的 android 应用程序中创建了一个临时文件:

 public File streamToFile (InputStream in) throws IOException {
    File tempFile = File.createTempFile("sample", ".tmp");
    tempFile.deleteOnExit();
    FileOutputStream out = new FileOutputStream(tempFile);
    IOUtils.copy(in, out);
    return tempFile;
}

现在的问题是 Cannot resolve symbol 'IOUtils' 。我做了一些谷歌搜索,发现要使用 IOUtils,我需要下载并包含一个 jar 文件。我从 这里 下载了 jar 文件 ( commons-io-2.4-bin.zip )。我将名为 commons-io-2.4.jar 的 jar 从 zip 添加到我的包中,当我尝试使用以下命令导入它时:

 import org.apache.commons.io.IOUtils;

它显示错误 Cannot resolve symbol 'io' 。所以我尝试像这样导入它:

 import org.apache.commons.*

但我仍然收到错误 Cannot resolve symbol 'IOUtils'

问题 1:为什么会出现此错误?如何解决?

问题 2:有没有办法在不使用外部库的情况下从 InputStream 创建临时文件?或者这是最有效的方法吗?我正在使用安卓工作室。

原文由 Harikrishnan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

在项目导航器中右键单击 commons-io-2.4.jar 文件并单击“添加到项目”解决了这个问题。

原文由 Harikrishnan 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于安卓工作室:

  1. 文件 -> 项目结构… -> 依赖项
  2. 点击右上角的‘+’,选择“Library dependency”
  3. 在搜索字段中键入:“org.apache.commons.io”并单击“搜索”
  4. 选择“org.apache.directory.studio:org.apache.commons.io:

或者

添加 implementation 'org.apache.directory.studio:org.apache.commons.io:2.4build.gradle 文件

原文由 Ivo Stoyanov 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题