2013-05-29 23 views
29

Masz nowy projekt za pomocą nowego IDE Android Studio.Załaduj prosty plik tekstowy w Android Studio

Próbuję załadować prosty plik tekstowy za pomocą InputStreamReader. Otrzymuję wyjątek od pliku. Teraz nie ma żadnych zasobów/folderu. Próbowałem utworzyć jeden i dodać mój plik w wielu różnych miejscach (w katalogu głównym projektu, w katalogu głównym pliku .java, itp.) Próbowałem przenieść plik, ale nadal mam plik nie uznany.

Teraz to nigdy nie było problemu z używaniem Eclipse, ponieważ istnieje folder zasobów utworzony przez dowolny szablon.

Czy ktoś wie, gdzie powinien znaleźć się majątek lub jak je załadować?

Oto kod używany, nie jest on w .Open():

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

Próbowałem również ten kod w Eclipse, to działa i zawartość pliku dostać załadowany. Prawdopodobnie potrzebny jest krok w Android Studio.

+0

Co stanie się, gdy go utworzymy? Wybacz mi, ale twój poziom doświadczenia sugeruje, że nie powinieneś używać niewydanego produktu do rozwoju. – Simon

+0

Co tworzyć? streamReader? –

+0

nie, folder zasobów. – Simon

Odpowiedz

87
  1. Krok 1: Otwórz w pliku Name_Project-Name_Project.iml.
  2. Zobacz linię: nazwa opcji value = "ASSETS_FOLDER_RELATIVE_PATH" = "/ src/main/aktywa"
  3. Krok 2: Utwórz podfolder "aktywów" w głównym folderze.
  4. Krok 3: Umieść plik w tym folderze.
  5. Krok 4: Załaduj go. Gotowe.
+1

Prawidłowa odpowiedź. Ścieżka do pliku .iml jest kluczowa. Dziękuję Ci. –

+1

Wybitne ... szukałem tego przez ponad godzinę, a wszystkie pomysły oparte na Eclipse zawiodły. DZIĘKUJĘ FIT226557! :) –

+0

To było frustrujące dla mnie! Dziękuję Ci! +1 – kev

1

Ten kod będzie działał dla Ciebie. Pobranie wszystkich danych z pliku.

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

musisz utworzyć surowy folder wewnątrz katalogu res i dodać tam swój plik – Ashraf