2013-05-30 2 views
0

У меня есть следующий * .txt файлAndroid: Извлечение значения из * .txt файла

Here for txt File

Как я могу извлечь раз в массиве или что-то другое с его соответствующими значениями в дополнительных Array. Как

ArrayTime[..., 16:52, 17:07,....] 
ArrayG[..., 533, 469,....] 
ArrayGd[..., 186, 170,...] 

Как я могу получить значения обратно из массива?

Спасибо за вашу помощь

ответ

0

читать каждую строку файла, игнорировать верхние из них до тех пор, пока не начнется фактическая таблица.

разделяет каждую строку, используя пробел в качестве разделителя, который даст вам массив с каждым из четырех столбцов в нем. Добавьте запись в этот массив строк к соответствующим массивам ArrayLists, которые представляют все значения в каждом столбце.

Вот немного кода, чтобы вы начали:

ArrayList<String> time = new ArrayList<String>(); 
ArrayList<String> g = new ArrayList<String>(); 
ArrayList<String> gd = new ArrayList<String>(); 
ArrayList<String> td = new ArrayList<String>(); 

String line = ""; 

//get a BufferedReader for your file. 

while((line = br.readLine) != null){ 
    String row = line.split(" "); 
    time.add(row[0]); 
    g.add(row[1]); 
    gd.add(row[2]); 
    td.add(row[3]); 
} 

Вы должны будете работать, как пропустить верхние строки, которые не содержат данные, и вы должны будете делать преобразования если вы хотите сохранить ваши значения как числовые, а не строки. Но это общий способ, которым вы можете добиться того, что вам нужно.

Примечание: Если есть начальные пробелы в строках таблицы вы, вероятно, хотите, чтобы лишить тех, перед вызовом метода split()

+0

Спасибо, я проверю! –

0

Вы можете сделать массив как объект JSON и сделать его в виде строки и сохранить его в файле. Во время выборки, Вы можете прочитать строку и легко преобразовать его в объект JSON

String json; 
FileInputStream stream = new FileInputStream(File); 
try { 
    FileChannel fc = stream.getChannel(); 
    MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size()); 
    /* Instead of using default, pass in a decoder. */ 
    json = Charset.defaultCharset().decode(bb).toString(); 
} 
finally { 
    stream.close(); 
} 
JSONObject obj = new JSONObject(json); 
0

Вы лучше хранить переменные в более простой форме , такие как

array=12:30,11:05,etc.. 

Затем прочитайте файл по строкам. Разделите строку символом «=», а затем разделите вторую строку запятыми, чтобы создать массив.

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