Java: while ((line = bufferedReader.readLine ())! = Null) MISSING 2 LINES

Ignore arguments passed to the method. My code is:

    public static void setEnabled(EntityPlayer p, Boolean b){
    try{
        FileReader fileReader = new FileReader(SLInfo.STORAGEFILE);
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        FileWriter fileWriter = new FileWriter(SLInfo.STORAGEFILE);
        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
        String line = null;
        boolean breakearly = false;
        bufferedWriter.write("HeLlo");
        bufferedWriter.newLine();
        bufferedWriter.write("World!");

        System.out.println("GOT TO THIS FRICKIN POINT");

        while((line = bufferedReader.readLine()) != null){
            System.out.println(line);
            Thread.sleep(2000);
        }
        bufferedReader.close();
        bufferedWriter.close();
    }catch(Exception e){e.printStackTrace();}
}

It just prints β€œGET THIS FREAKIN POINT” (I decided this line in my rage). I have no idea why. In my file, it shows:

"Hello"
"World"

I just do not understand.

: . . , , , , ... . , p.username, , 1, "" "" . : p.username x, x, "p.username booleanvalue", p.username , "p.username booleanvalue" .

    public static void setEnabled(EntityPlayer p, Boolean b){
    try{
        FileReader fileReader = new FileReader(SLInfo.STORAGEFILE);
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        FileWriter fileWriter = new FileWriter(SLInfo.STORAGEFILE);
        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
        String line = null;
        boolean breakearly = false;

        while((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
            if (line.contains(p.username)){
                System.out.println("Got here");
                bufferedWriter.write(p.username + " " + Boolean.toString(b));
                bufferedWriter.newLine();
                bufferedWriter.flush();
                breakearly = true;
                break;
            }
        }
        bufferedWriter.flush();
        System.out.println(breakearly);
        if (!breakearly){
            System.out.println("did this");
            bufferedWriter.write(p.username + " " + Boolean.toString(b));
            bufferedWriter.newLine();
            bufferedWriter.flush();
        }
        bufferedReader.close();
        bufferedWriter.close();
    }catch(Exception e){e.printStackTrace();}
}

(, , )

+3
4

Buffered in BufferedWriter.

, - .

, .

, , .

, bufferedWriter.flush() .

+4

:

      boolean breakearly = false;       bufferedWriter.write( "HELLO" );       bufferedWriter.newLine();       bufferedWriter.write( "World!" );

    // flush
    bufferedWriter.flush();

    // close the bufferwriter
    bufferedWriter.close();

    while((line = bufferedReader.readLine()) != null){
        System.out.println(line);
        Thread.sleep(2000);
    }
0

When you write a file, you randomly write a file to the cache, try calling bufferedWriter.close()to save all the changes.

-1
source

write these lines:

bufferedWriter.flush();  // flush 

// now close the bufferwriter
bufferedWriter.close();

now read your file again

while((line = bufferedReader.readLine()) != null){
  // your reading code
}
-1
source

All Articles