나는 arraylist (result_arraylist
)와 gson 라이브러리를 사용하여 자바 객체를 JSON으로 변환 한 다음 텍스트 파일로 인쇄합니다.내 파일이 계속 덮어 쓰기가되는 이유는 무엇입니까?
Gson gson = new Gson();
File file = new File(file_path);
FileWriter fWriter;
BufferedWriter bWriter;
try {
//create the file if it doesn't exist
if((!file.exists())) {
file.createNewFile();
}
fWriter = new FileWriter(file.getAbsoluteFile());
bWriter = new BufferedWriter(fWriter);
for(int j = 0; j < result_arraylist.size(); ++j) {
bWriter.write("<!--"); //this and the last string I write to the file is just to separate the objects for when I read the file again
bWriter.newLine();
bWriter.write(gson.toJson(result_arraylist.get(j))); //take the object at index j, convert it to JSON and write to file
bWriter.newLine();
bWriter.write("-->"); //seperator to denote end of object
bWriter.newLine();
bWriter.newLine();
}
}
catch(IOException e) {e.printStackTrace();}
내가 여기에 표시되지 않은 것은이 모든 반복에 다른 개체와 result_arraylist
을 채우 for loop
큰 중첩된다는 것이다 : 여기 내 코드입니다. 내 문제는 주 의 반복마다 파일이 계속 덮어 쓰여지고 있다는 것입니다.
위 코드는 설명하는대로 수행되지 않습니다. 당신은 하나의 반복 만 있거나 당신이 기대하는 것과 다른 무언가를하고 있습니다. 디버거에서 코드를 단계별로 실행하여 실제로 수행중인 작업을 확인하는 것이 좋습니다. –
@PeterLawrey 마지막 단락 OP에서는이 전체 코드를 for 루프에 추가하고 seperator를 사용하여 해당 파일의 각 json 객체를 알 수 있습니다. 나는 오해하고 있는가? –