I'm in the process of learning Java and I cannot find any good explanation on the implements Closeable
and the implements AutoCloseable
interfaces.
When I implemented an interface Closeable
, my Eclipse IDE created a method public void close() throws IOException
.
I can close the stream using pw.close();
without the interface. But, I cannot understand how I can implement theclose()
method using the interface. And, what is the purpose of this interface?
Also I would like to know: how can I check if IOstream
was really closed?
I was using the basic code below
import java.io.*;
public class IOtest implements AutoCloseable {
public static void main(String[] args) throws IOException {
File file = new File("C:\\test.txt");
PrintWriter pw = new PrintWriter(file);
System.out.println("file has been created");
pw.println("file has been created");
}
@Override
public void close() throws IOException {
}