2013-05-29 20 views
29

Hai ottenuto un nuovo progetto utilizzando il nuovo IDE di Android Studio di Google.Carica un semplice file di testo in Android Studio

Sto provando a caricare un semplice file di testo utilizzando InputStreamReader. Sto ottenendo un file non trovato eccezione. Ora non ci sono risorse/cartelle. Ho provato a crearne uno e ad aggiungere il mio file in molti punti diversi (alla radice del progetto, alla radice del file .java, ecc ...) Ho provato a spostare il file ma ho comunque ottenuto il file trovato.

Ora non è mai stato un problema utilizzare Eclipse in quanto esiste una cartella di risorse creata da qualsiasi modello.

Qualcuno sa dove dovrebbero andare le risorse o come caricarle?

Ecco il codice utilizzato, non riesce a .Open():

InputStream iS = resources.getAssets().open("bla.txt"); 
BufferedReader reader = new BufferedReader(new InputStreamReader(iS)); 

Ho provato anche questo codice in Eclipse, funziona e il contenuto del file ottenere caricato. Quindi c'è probabilmente un passaggio necessario in Android Studio.

+0

Cosa succede quando lo si crea? Perdonami, ma il tuo livello di esperienza suggerisce che non dovresti usare un prodotto inedito per lo sviluppo. – Simon

+0

Creare cosa? lo streamReader? –

+0

no, la cartella delle risorse. – Simon

risposta

87
  1. Passaggio 1: Aprire nel file Name_Project-Name_Project.iml.
  2. vedere la linea: nome di opzione = valore "ASSETS_FOLDER_RELATIVE_PATH" = "/ src/main/attività"
  3. Fase 2: Creare una sottocartella "attività" nella cartella principale.
  4. Passaggio 3: Inserire il file in questa cartella.
  5. Passaggio 4: Caricalo. Fatto.
+1

Risposta corretta. La voce del percorso nel file .iml è la chiave. Grazie. –

+1

Eccezionale ... lo cercavo da più di un'ora e tutte le idee basate su Eclipse fallivano. GRAZIE FIT226557! :) –

+0

Questo è stato frustrante per me! Grazie! +1 – kev

1

Questo codice funzionerà per voi. Verrà recuperato tutti i dati dal file.

public class Quiz extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_quiz); 
    try { 
     PlayWithRawFiles(); 
    } catch (IOException e) { 
     Toast.makeText(getApplicationContext(), 
       "Problems: " + e.getMessage(), Toast.LENGTH_LONG).show(); 
    } 
}// onCreate 

public void PlayWithRawFiles() throws IOException { 
    String str=""; 
    StringBuffer buf = new StringBuffer(); 
    InputStream is = this.getResources().openRawResource(R.raw.ashraf); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 
    if (is!=null) { 
     while ((str = reader.readLine()) != null) { 
      buf.append(str + "\n"); 
     } 
    } 
    is.close(); 
    TextView tv=(TextView)findViewById(R.id.tv1); 
    tv.setText(buf.toString()); 


}// 
     } 
+0

devi creare una cartella raw all'interno della directory res e aggiungere il tuo file lì – Ashraf

Problemi correlati