안녕하세요.
제가 데이터를 저장하고 불러오려고 하는데요
인트값이랑 스트링값을 동시에 저장할거거든요 (여러개 예를 들면 12이 1김 14수 이런식으로요..)
저 예대로라면 12 이, 1 김, 14수 이런식으로 읽어야 되는데 어떻게 해야되는지 모르겠어요;
try{ //파일로드부분
FileInputStream fis = openFileInput("myText.txt");
byte[] buffer = new byte[fis.available()];
num=fis.read();
fis.read(buffer);
readedStr = new String(buffer);
Toast.makeText(TestpActivity.this, "test num :" +num +"\nstr :" +readedStr, Toast.LENGTH_SHORT).show();
}catch(IOException e){
Log.e("파일 읽어오기 실패:", e.getMessage());
}
이대로라면 12 이1김14수
이렇게 인트형에 12
스트링형에 이1김14수 가 저장되네요..
어떻게해야 끊어서 읽을 수 있을까요?
아래는 바꾸려고 한 코드인데.. 인트형은 널값과 비교하지 못하는건가요??;;
try{
do{
FileInputStream fis = openFileInput("myText.txt");
byte[] buffer = new byte[fis.available()];
num=fis.read();
fis.read(buffer);
readedStr = new String(buffer);
Toast.makeText(TestpActivity.this, "test num :" +num +"\nstr :" +readedStr, Toast.LENGTH_SHORT).show();
}while(num!=null);
}catch(IOException e){
Log.e("파일 읽어오기 실패:", e.getMessage());
}
데이터를 저장할때 구분을 해주려면
fos.write(i);
fos.write(strByte);
fos.write("\n");
이런식으로 해서 구분할 수는 없을까요??
흑흑, 도움 좀 부탁드릴게요 ㅠㅠ
걍 대단히 간단하게 처리하려면
12@이@1@김@14@수
요런식으로 하셔도 되고 스페이스로 해도 되고
@만날 때까지 문자값 저장해서 12,이,1,김,14,수 요런 식으로 데이터 뽑아 놓고
숫자는 숫자형으로 문자는 문자형으로 사용하시면 되겠죠.
날로 드시려면 json 배워 보시는 것도 방법이구요.
으악!! 제가 원하던 답이에요!!ㅠㅠ
저장할때
fos.write(i);
fos.write(strByte);
fos.write('@');
이렇게 구분은 하게 해줬는데요.. @ 만날때까지 문자값 저장을 어떻게하죠..?
4년전에 c배울때 토큰이었나;; 그런게 있었던거 같긴한데..
메소드 없나요??ㅠㅠ
데이터가 많으시면 sqlite도 고려해보세요~