import java.io.File;
public class FileUtil {
// 关闭流
public static void close(AutoCloseable closeable) {
if (closeable != null) {
try {
closeable.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
实现了AutoCloseable接口的流可以调用以上方法关闭
示例
public void demo() {
OutputStreamWriter os = null;
FileOutputStream fos = null;
try {
fos = new FileOutputStream("logs/1.log",true);
os = new OutputStreamWriter(fos, "UTF-8");
os.write(date+" "+time+" "+i+"\r\n");
} catch (Exception e) {
e.printStackTrace();
} finally {
FileUtil.close(os);
FileUtil.close(fos);
}
}
以上是比较好用的老方法,然而从Java7开始可以通过try with resource方法自动关闭资源
public void test2(){
try(FileInputStream ins = new FileInputStream(new File("D:/aa.txt"));
FileOutputStream out = new FileOutputStream(new File("D://bb.txt"))){
//业务逻辑
}catch (Exception e){
e.printStackTrace();
}
}
try执行完了以后,会自动关闭资源
Java流操作与资源管理
本文详细介绍了在Java中如何使用FileUtil类进行文件流操作和资源管理,包括关闭流的方法实现,以及从Java 7开始引入的try-with-resources语句自动关闭资源的示例,提高了代码的健壮性和效率。
3252

被折叠的 条评论
为什么被折叠?



