I'm currently studying for my JAVA SE OCP Certification so and playing around with things to learn.
I'm currently on IO chapter. I'm trying to combine a ScheduledExecutor with a BufferedWriter
ScheduledExecutorService service = null;
try (BufferedWriter bw = new BufferedWriter(new FileWriter(testFile))) {
service = Executors.newSingleThreadScheduledExecutor();
service.scheduleAtFixedRate(() -> {
try {
bw.write("Curr Time: " + LocalTime.now());
} catch (IOException e) {
e.printStackTrace();
}
}, 1, 1, TimeUnit.SECONDS);
}
I expected to write the LocalTime every second on a new line on my TestFile but this IOException shows up:
java.io.IOException: Stream closed
at java.io.BufferedWriter.ensureOpen(BufferedWriter.java:116)
at java.io.BufferedWriter.write(BufferedWriter.java:221)
at java.io.Writer.write(Writer.java:157)
at Worksheet.lambda$main$0(Worksheet.java:56)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) {...}