У меня есть arraylist (result_arraylist
) и с помощью библиотеки gson для преобразования java-объектов в 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();}
То, что я не показал здесь, что это вложено в большем for loop
, который заполняет result_arraylist
с различными объектами с каждой итерацией. Моя проблема заключается в том, что с каждой итерацией основного for loop
файл продолжает переписываться.
Код, указанный выше, не будет работать так, как вы описали. Либо у вас есть только одна итерация, либо вы делаете что-то другое, чем ожидаете. Я предлагаю вам выполнить свой код в отладчике, чтобы увидеть, что он действительно делает. –
@PeterLawrey В этом последнем абзаце OP добавила, что весь этот код в for-loop и используя seperator, чтобы знать каждый отдельный json-объект в этом файле. Я не понял? –