2014-07-04 30 views
26

Ho usato il seguente codice per creare un file temporaneo nella mia app Android:non può risolvere il simbolo '' 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; 
} 

Ora il problema è Cannot resolve symbol 'IOUtils'. Ho fatto un po 'di googling e ho scoperto che per usare IOUtils ho bisogno di scaricare e includere un file jar. Ho scaricato il file jar da here (commons-io-2.4-bin.zip). Ho aggiunto il barattolo di nome commons-io-2.4.jar dalla zip al mio fagotto e quando ho cercato di importare utilizzando:

import org.apache.commons.io.IOUtils; 

E sta mostrando errore Cannot resolve symbol 'io'. Così ho cercato di importarlo come:

import org.apache.commons.* 

Ma ancora sto ottenendo l'errore Cannot resolve symbol 'IOUtils'.

Domanda 1: Perché ricevo questo errore? Come risolverlo?

Domanda 2: Esiste un modo per creare un file temporaneo da un InputStream senza utilizzare una libreria esterna? O è questo il modo più efficace per farlo? Sto usando Android Studio.

risposta

7

Fare clic con il pulsante destro del mouse sul file commons-io-2.4.jar nel navigatore di progetto e fare clic su "Aggiungi al progetto" per risolvere il problema.

+0

Quale file jar? – zindarod

+0

@Zindarod risposta tardiva Lo so ma vedi http: // StackOverflow.it/questions/17895557/add-commons-io-dependency-to-gradle-project-in-android-studio # comment61025941_33820307 per ottenere il barattolo – CrandellWS

+0

Utilizzare il sistema gradle per gestire le librerie e versionarlo – thuongle

85

Per Android Studio:

  1. File -> Struttura del progetto ... -> Dipendenze
  2. Fare clic su '+' nell'angolo in alto a destra e selezionare "Biblioteca dipendenza"
  3. Nel campo di ricerca tipo: "org.apache.commons.io" e fare clic su Cerca
  4. Selezionare "org.apache.directory.studio:org.apache.commons.io:

felice codi ng :)

+46

Oppure aggiungere 'compile 'org.apache .directory.studio: org.apache.commons.io: 2.4'' nel file 'build.gradle' –

+1

Per vedere la scheda Dipendenti, prima fare clic su" app "in" Moduli ". –

+0

Questa dovrebbe essere la risposta accettata. –

2

Per coloro che hanno riscontrato questo problema mentre lavoravano su un progetto Netbeans Java. Quello che ho fatto è che ho scaricato il file binari postale di IO qui

Commons IO Util Jar Download Here

quindi destra cliccato sul mio Progetto> Proprietà>


sulle categorie Pane, clicca Biblioteche


Quindi fare clic su Aggiungi barattolo/cartella


Individuare il file jar/cartella dell'IO Util estratto scaricato.


Quindi fare clic su OK. Quello ha riparato il mio. :)

+0

La domanda è contrassegnata con [tag: android-studio] una risposta su Netbeans non risponde. – Oleg

+0

android usa comunque la sintassi java, e stavo cercando questo problema esatto che ho riscontrato mentre lavoravo in netbeans che prima era un IDE per lo sviluppo in Android, sembra valere la pena di essere sottolineato. I problemi passo passo e i file jar necessari forniti sopra per android-studio sono vicini a quello che risolverà lo stesso problema sopra se incontrato in Netbeans. Sto solo fornendo la mia versione di esso in netbeans poiché questo potrebbe essere incontrato mentre si lavora anche in netbeans. Il fatto è che sto lavorando a questo java proj.in netbeans in modo da poterlo distribuire in Android in seguito con codice funzionante. –

Problemi correlati