无法解析符号“IOUtils”

2022-09-01 04:04:59

我使用以下代码在我的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;
}

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

import org.apache.commons.io.IOUtils;

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

import org.apache.commons.*

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

问题 1 : 为什么我会收到此错误?如何解决?

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


答案 1

对于 Android Studio:

  1. 文件 -> 项目结构... -> 依赖项
  2. 单击右上角的“+”,然后选择“库依赖项”
  3. 在搜索字段中键入:“org.apache.commons.io”,然后点击“搜索”图标
  4. 选择“org.apache.directory.studio:org.apache.commons.io:<X.X>

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


答案 2

右键单击项目导航器中的文件,然后单击“添加到项目”解决了问题。commons-io-2.4.jar