我使用以下代码在我的 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 文件。我从这里(commons-io-2.4-bin.zip)下载了jar文件。我将 zip 中名为 commons-io-2.4.jar
的 jar 添加到我的包中,当我尝试使用以下命令导入它时:
import org.apache.commons.io.IOUtils;
显示错误
Cannot resolve symbol 'io'
。所以我尝试像这样导入它:
import org.apache.commons.*
但我仍然收到错误
Cannot resolve symbol 'IOUtils'
。
问题 1:为什么我会收到此错误?怎么解决?
问题 2:有没有办法在不使用外部库的情况下从 InputStream 创建临时文件?或者这是最有效的方法?我正在使用 android studio。
对于 Android Studio:
或者
将
implementation 'org.apache.directory.studio:org.apache.commons.io:2.4
添加到 build.gradle
文件
右键单击项目导航器中的
commons-io-2.4.jar
文件并单击“添加到项目”解决了该问题。
添加以下依赖项解决了问题
implementation 'org.apache.directory.studio:org.apache.commons.io:2.4'
对于那些在开发 Netbeans Java 项目时遇到此问题的人。我所做的是在这里下载了 IO 的二进制文件 Zip
然后右键单击我的项目>属性>
在类别窗格中,单击库
然后单击添加 Jar/文件夹
找到已下载的提取的 IO Util 的 jar 文件/文件夹。
然后单击“确定”。那修好了我的。 :)
首先我添加了此依赖项,但在设备上安装应用程序时出现错误:
implementation("org.apache.directory.studio:org.apache.commons.io:2.4")
错误:
The application could not be installed: INSTALL_FAILED_NO_MATCHING_ABIS
然后根据这里的答案,我在 build.gradle.kts 文件中使用了这个其他依赖项并且它起作用了:
implementation("commons-io:commons-io:2.5")