您的位置:首页 > 编程语言 > Java开发

io中的AutoCloseable,Closeable和Flushable接口

2017-01-09 15:46 344 查看
AutoCloseable是在java.lang中的(1.7才有的)

Closeable(1.5才有的)接口继承了AutoCloseable接口

public void close()

关闭此流并释放与此流关联的所有系统资源。

继承Closeable接口,使代码更简洁,更清晰

当try代码快结束时,资源(在此时流)会被自动关闭

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class t {
private static BufferedReader reader;

public static void main(String[] args) {
try {
reader = new BufferedReader(new InputStreamReader(new FileInputStream(new File("a"))));
System.out.println(reader.readLine());
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

import java.io.BufferedReader;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class t implements Closeable {
private static BufferedReader reader;

public static void main(String[] args) {
try {
reader = new BufferedReader(new InputStreamReader(new FileInputStream(new File("a"))));
System.out.println(reader.readLine());
} catch (IOException e) {
e.printStackTrace();
}
}

@Override
public void close() throws IOException {
reader.close();
}

}
flushable相同用法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java io Closeable Flushable