2014-07-04 28 views
26

Użyłem poniższy kod, aby utworzyć tymczasowy plik w moim android app:Nie można rozwiązać symbol „IOUtils”

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; 
} 

Teraz problem jest Cannot resolve symbol 'IOUtils'. Zrobiłem trochę google i odkryłem, że do korzystania z IOUtils muszę pobrać i dołączyć plik jar. Pobrałem plik JAR z here (commons-io-2.4-bin.zip). I dodaje słoik nazwie commons-io-2.4.jar z zamkiem do mojego pakietu i kiedy próbowałem go importować przy użyciu:

import org.apache.commons.io.IOUtils; 

To pokazuje błąd Cannot resolve symbol 'io'. Więc próbowałem zaimportować go tak:

import org.apache.commons.* 

Ale wciąż otrzymuję błąd Cannot resolve symbol 'IOUtils'.

Pytanie 1: Dlaczego otrzymuję ten błąd? Jak to rozwiązać?

Pytanie 2: Czy istnieje sposób na utworzenie pliku tymczasowego ze strumienia InputStream bez korzystania z biblioteki zewnętrznej? Czy jest to najskuteczniejszy sposób na zrobienie tego? Używam Android Studio.

Odpowiedz

7

Kliknięcie prawym przyciskiem myszy na pliku commons-io-2.4.jar w nawigatorze projektu i kliknięcie przycisku "Dodaj do projektu" rozwiązało problem.

+0

Który plik jar? – zindarod

+0

@ Zindarod late answer Wiem, ale patrz http: // stackoverflow.com/questions/17895557/add-commons-io-dependency-to-gradle-project-in-android-studio # comment61025941_33820307 dla uzyskania słoiczka – CrandellWS

+0

Powinien używać systemu gradle do zarządzania bibliotekami i wersją to – thuongle

85

Dla Android Studio:

  1. Plik -> struktura projektu ... -> Zależności
  2. Kliknij '+' w prawym górnym rogu i wybierz "zależność Library"
  3. W polu wyszukiwania typ: "org.apache.commons.io" i kliknij Szukaj
  4. Wybierz „org.apache.directory.studio:org.apache.commons.io:

Szczęśliwy Codi ng :)

+46

Lub dodać "kompilacja" org.apache .directory.studio: org.apache.commons.io: 2.4'' do pliku 'build.gradle' –

+1

Aby zobaczyć zakładkę Dependices, najpierw kliknij" app "w" Modules ". –

+0

To powinna być zaakceptowana odpowiedź. –

2

Dla tych, którzy napotkali to podczas pracy nad projektem Java Netbeans. Co zrobiłem ja pobranych plików binarnych Zip IO tutaj

Commons IO Util Jar Download Here

Następnie kliknięciu prawym przyciskiem myszy na Mój projekt> Właściwości>


na kategorie okienku kliknij Biblioteki


Następnie kliknij Dodaj słoik/folder


Zlokalizuj plik/folder JAR pobranego pliku IO Util, który został pobrany.


Następnie kliknij OK. To naprawiło moje. :)

+0

Pytanie jest oznaczone tagiem [tag: android-studio] odpowiedź na pytanie o Netbeans nie odpowiada. – Oleg

+0

Android używa blisko składni javy. I szukałem właśnie tego problemu, który napotkałem podczas pracy w netbeans, które kiedyś było IDE do rozwijania w Androidzie, wydaje się warte podkreślenia. Problemy z krok po kroku i niezbędne pliki jar podane powyżej dla android-studio są zbliżone do rozwiązania tego samego problemu powyżej, jeśli wystąpią w Netbeans. Po prostu dostarczam moją wersję w netbeans, ponieważ można to było napotkać podczas pracy w Netbeans. Faktem jest, pracuję nad tym java proj.in netbeans, aby móc go później wdrożyć w Androidzie z działającym kodem. –

Powiązane problemy