web-dev-qa-db-ja.com

シンボル「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 )からダウンロードしました。 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を使用しています。

33
Harikrishnan

プロジェクトナビゲータでcommons-io-2.4.jarファイルを右クリックし、「プロジェクトに追加」をクリックして問題を解決しました。

7
Harikrishnan

Android Studio:

  1. ファイル->プロジェクト構造...->依存関係
  2. 右上隅の「+」をクリックし、「ライブラリの依存関係」を選択します
  3. 検索フィールドに「org.Apache.commons.io」と入力し、「検索」をクリックします
  4. 「org.Apache.directory.studio:org.Apache.commons.io:

ハッピーコーディング:)

96
Ivo Stoyanov

Netbeans Javaプロジェクトで作業中にこれに遭遇した人のために。私がしたことは、IOこちら

Commons IO Util Jar Download Here

次に、プロジェクト>プロパティ>を右クリックしました


[カテゴリ]ペインで、[ライブラリ]をクリックします


次に、[ジャー/フォルダーの追加]をクリックします


抽出されたIO Utilがダウンロードされたjarファイル/フォルダーを見つけます。


次に、[OK]をクリックします。それは私のものを修正しました。 :)

2
iamjoshua