2013-05-30 53 views
0

值提取我有以下的* .txt文件安卓:从* .txt文件

Here for txt File

我怎么能在一个阵列或别的东西与额外的阵列及其相关的价值提取的时代。像

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

我怎样才能从数组中返回值?

谢谢您的帮助

回答

0

读取文件的每一行,忽略顶部那些直到实际的表开始。

分割各行使用空间作为分隔符,这将使你与每个在它的4列的阵列。将该单行数组中的条目添加到表示每列中所有值的相应ArrayList中。

下面是一些代码,让你开始:

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.. 

然后逐行读取文件。用“=”字符分隔行,然后用逗号分隔第二个字符串以创建一个数组。