I have two Threads and each Thread should write its name and an increasing number into a file - but it doesn't work.
If i use the System.out.println() method the threads are working perfectly only the writing into the file does fail. Any idea why?
This is how my Threads look like:
package ThreadTest;
import java.io.*;
public class Thread1 implements Runnable {
public void run() {
    int x = 0;
    while (true) {
        try {
            BufferedWriter p1 = new BufferedWriter(new FileWriter("C:\\Users\\User\\Desktop\\a1.txt"));
            x++;
            p1.write("Thread11: " + x);
            Thread.sleep(500);
            p1.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
  }
}
The main class looks like this:
package ThreadTest;
public class ThreadTestTest {
    public static void main(String args[]) {
        try {
            Thread1 t11 = new Thread1();
            Thread t1 = new Thread(t11);
            Thread2 t22 = new Thread2();
            Thread t2 = new Thread(t22);
            t2.start();
            t1.start();
            t1. join();
             t2. join();
        } catch (Exception e) {
            e.getMessage();
        }
    }
}
 
     
     
    