2013-05-30 2 views
0

에서 추출 값은 내가 여분 배열에서 관련 값으로 배열 또는 뭔가에 시간을 추출 할 수있는 방법은 다음과 * .txt 파일안드로이드 : A * .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.. 

그런 다음 파일을 한 줄씩 읽습니다. 줄을 "="문자로 분할 한 다음 두 번째 문자열을 쉼표로 분리하여 배열을 만듭니다.