Android] java. TXT파일을 읽어서 특정부분 지우기
TXT를 읽어와서 특정 줄만 지워야 할 때가 있는데, 이럴때는 BufferedReader로 열고 FilWriter로 덮어쓰기를 실시한다.
//파일 열어서 삭제하는 로직
File file = new File(sumFilePath);
String dummy = "";
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
//BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
//1. 삭제하고자 하는 position 이전까지는 이동하며 dummy에 저장
String line;
for(int i=0; i<position; i++) {
line = br.readLine(); //읽으며 이동
dummy += (line + "\r\n" );
}
//2. 삭제하고자 하는 데이터는 건너뛰기
String delData = br.readLine();
Log.d("mstag","삭제되는 데이터 = "+delData);
//3. 삭제하고자 하는 position 이후부터 dummy에 저장
while((line = br.readLine())!=null) {
dummy += (line + "\r\n" );
}
//4. FileWriter를 이용해서 덮어쓰기
FileWriter fw = new FileWriter(sumFilePath);
fw.write(dummy);
//bw.close();
fw.close();
br.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}