Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gson with FileWriter doesn't write complete file [duplicate]

I have 14 lists and each list have either numeric or string data. Size of each list is 32561. I have to output a file with the format:

list1_element1   list2_element1.......................list14_element1
list1_element2   list2_element2.......................list14_element2
.
.
.
.
.
list1_element32561   list2_element32561.......................list14_element32561

Each element in output file is separated by tab space. I did it like this in Java.

        out = new BufferedWriter(new FileWriter(fileName));
        for(int i=0; i<32561; i++) {
        out.write(firstList.get(i));
        out.write("\t");
        out.write(secondList.get(i));
        out.write("\t");
        out.write(thirdList.get(i));
        out.write("\t");
        out.write(fourthList.get(i));
        out.write("\t");
        out.write(fifthList.get(i));
        out.write("\t");
        out.write(sixthList.get(i));
        out.write("\t");
        out.write(seventhList.get(i));
        out.write("\t");
        out.write(eighthList.get(i));
        out.write("\t");
        out.write(ninthList.get(i));
        out.write("\t");
        out.write(tenthList.get(i));
        out.write("\t");
        out.write(eleventhList.get(i));
        out.write("\t");
        out.write(twelvethList.get(i));
        out.write("\t");
        out.write(thirteenthList.get(i));
        out.write("\t");
        out.write(fourteenthList.get(i));
            out.write("\t");
        out.write(fifteenthList.get(i));

        out.newLine();
    }
}

My program prints only 32441 lines with the last line consisting of only 6 columns. I don't understand why. Can someone help ?

like image 327
user1982519 Avatar asked Mar 05 '26 19:03

user1982519


1 Answers

You aren't closing the Writer, so you're losing whatever is still in the buffer.

like image 144
user207421 Avatar answered Mar 07 '26 09:03

user207421