마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

파일IO 토큰 구분하기...

0 추천
String sp=",";
String se="\n";
      
try{FileOutputStream outfs = openFileOutput("Apppackname.txt", MODE_APPEND);
 outfs.write(data_1.mAppNaem.getBytes());
 outfs.write(sp.getBytes());
 outfs.write(data_1.mAppPackge.getBytes());
 outfs.write(sp.getBytes());
 outfs.close();
 }catch(IOException e){}

위의 코드가 파일 입력부분입니다. 이것을 통해 저장된 txt 내용이

mo131107,com.example.mo131107,Preferences Test,com.holim.test.pref01,Android_6_1_239p,com.example.android_6_1_239p,어플목록,co.kr.pluu.appinfo,

마지막으로.

try {
FileInputStream stream = openFileInput("Apppackname.txt");
InputStreamReader reader = new InputStreamReader(stream);
StreamTokenizer tokens = new StreamTokenizer(reader);
  
tokens.quoteChar(','); // 자를 범위지정
      
while (tokens.nextToken() != tokens.TT_EOF) {
  String appname = tokens.sval;
  tokens.nextToken();
  String apppack = tokens.sval;
  arGeneral.add(appname + " [ " + apppack + " ] ");
  pacageNm.add(apppack);
  };
   stream.close();
  } catch (IOException e) {
  Toast.makeText(this, "선택된 어플이 없습니다.", 0).show();
  }

가 파일을 읽는쪽입니다.

저의 예상으로는

mo131107[com.example.mo131107]

Preferences Test[com.holim.test.pref01]

Android_6_1_239p[com.example.android_6_1_239p]

어플목록[co.kr.pluu.appinfo]

 

이렇게 출력이 되어야 하는데.;;; 실상은...

mo131107[com.example.mo131107]

Preferences [Test]

com.holim.test.pref01[Android]

null[null]

null[null]

null[null]

p[com.example.android_6_1_239p]

어플목록[co.kr.pluu.appinfo]

이렇게 출력이 됩니다....

뭐가 문제일까요 ... 띄어쓰기와 "_" 것을 구분자로 사용해서 그런것인지... 참 난감하네요 ㅠㅠ  

도와주세요 ...

안코노 (140 포인트) 님이 2013년 11월 16일 질문

1개의 답변

0 추천
이런 모호성을 방지하려고 json 이나 xml 을 쓰는거죠

파일 포맷을 변경해보세요
aucd29 (218,390 포인트) 님이 2013년 11월 18일 답변
어떤 포맷을 말씀하시는거에요 ? ㅠ
혹시 txt 말고 다른 포맷을 사용 해야 하는 건가요 ? ㅎ
.cvs 로 해도 같은 결과가 출력되서 ㅠ.ㅠ
...