For learning File read and write i have written a method in which i am writing some result into a file. On running the program the file size goes into GB's and i have to stop the program in between, which i was not expecting. I am not sure what mistake i am doing. Can you please point out the mistake in it or better way of doing it.
public static void modOperation() {
    int i = Integer.MAX_VALUE;
    FileWriter fileWriter;
    try {
        fileWriter = new FileWriter("Mod.txt");
        while (i > 0) {
            boolean result = ((i-- % 3) == 0);
            fileWriter.write(" result :: " + result);
        }
        fileWriter.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
				
                        
The value
Integer.MAX_VALUEis 2^31 - 1 which equals2,147,483,647. You are writing the text" result :: "plus a number on each line, which is about 20 bytes.2,147,483,647 x 20 bytes = 42 Terabytes
So your code certainly will cause Gigabytes (and beyond) to be written.
A better solution is to give the loop an upper bound like this: