2016-01-15 4 views
-4

У меня есть .txt файл со строками и целыми числами, такими как (очень упрощенный):Как импортировать текстовый файл в деятельности

String Q1 = "aflasjke"; 
String Q2 = "agdsgsdg"; 
String Q3 = "asdgdsgn"; 

String Q1_1 = "sgadg"; 
String Q1_2 = "agajgsdgn"; 
String Q1_3 = "sdgjsdgj"; 

int M1 = 1; 
int M2 = 2; 
int M3 = 4; 

Мне нужно эти строки и Int в моем MainActivity. Как я могу «импортировать/читать» их?

Спасибо!

+0

Это звучит, как вам нужно изменить файл .txt в класс. –

+0

Вам нужно написать парсер, если он в этом формате. Либо это, либо сделать его классом, как было предложено выше. Если вы продолжите работу с файлом, вы можете захотеть использовать JSON или XML, поэтому вы создали в парсерах, а не делаете все сами. –

+0

Идея изменить его на файл класса работает для этой проблемы на данный момент, спасибо! –

ответ

0

Это два метода ниже может помочь вам

EDIT

Здесь вы можете прочитать файл из SDCard

public static String getStringFromFile (String filePath) throws Exception { 
    File dir = Environment.getExternalStorageDirectory(); 
    File fl = new File(dir, "path/to/the/file/inside/the/sdcard.ext"); 
    FileInputStream fin = new FileInputStream(fl); 
    String ret = convertStreamToString(fin); 
    //Make sure you close all streams. 
    fin.close();   
    return ret; 
} 

Здесь у вас есть строки из файла, который вы получите выше

public static String convertStreamToString(InputStream is) throws Exception { 
    BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 
    StringBuilder sb = new StringBuilder(); 
    String line = null; 
    while ((line = reader.readLine()) != null) { 
     sb.append(line).append("\n"); 
    } 
    reader.close(); 
    return sb.toString(); 
} 

и добавить правильное разрешение на ваш манифест

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 

я нашел в этом ответе here

+0

Как я могу использовать файл? Итак, как я могу получить строки из txt? –

+0

@PatrickCzerwinski я отредактировал мой ответ, и я также добавил код, который вы отлично работаете, пожалуйста, если вы поможете добавить мой ответ в качестве принятого, спасибо. – diogojme

Смежные вопросы