java中的可释放资源定义,类似c#中的using
2018-02-08 11:51
435 查看
public static class FileDuplicator implements AutoCloseable { Scanner in = null; PrintWriter out = null; public FileDuplicator(String sourceFile, String destFile) { try { in = new Scanner(new FileInputStream(sourceFile)); out = new PrintWriter(destFile); } catch (FileNotFoundException e) { e.printStackTrace(); } } public void copy() { while(in.hasNext()) { out.println(in.next().toUpperCase()); } out.flush(); in.close(); in = null; out.close(); out = null; } @Override public void close() throws Exception { if(in != null) in.close(); if(out != null) out.close(); } }
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.EventListener; import java.util.List; import java.util.Scanner; public class Test { public static void main(String[] args) throws FileNotFoundException { try (FileDuplicator fd = new FileDuplicator("f:\\test.txt", "f:\\test2.txt")) { fd.copy(); } catch (Exception e) { e.printStackTrace(); } try(Scanner in = new Scanner(new FileInputStream("f:\\test.txt"));) { } System.out.println("end"); }
相关文章推荐
- C#里using的妙用(释放资源)
- using 语句定义一个范围,在此范围的末尾将自动释放对象,这样就不会占用太多的资源
- C# 中using 用来释放资源的用法
- using 语句定义一个范围,在此范围的末尾将自动释放对象,这样就不会占用太多的资源。
- using 语句定义一个范围,在此范围的末尾将自动释放对象,这样就不会占用太多的资源
- using在C#中使用用于资源的释放
- c#事务、using释放资源、实体类的高级应用
- C#语言中的Using语句块确保资源被释放
- C#中using关键字在资源释放中的使用
- 提高C#编程水平的50个要点 之十五“使用 using 和 try-finally 来处理资源的释放”
- c#:使用using关键字自动释放资源未必一定就会有明显好处
- 【.Net码农】c#:使用using关键字自动释放资源未必一定就会有明显好处
- c#:使用using关键字自动释放资源未必一定就会有明显好处
- C#利用using和try-finally来释放资源
- using – 再谈.Net Framework(C#/VB.Net)的资源释放
- c#:使用using关键字自动释放资源未必一定就会有明显好处(转)
- SQLite优化记录 + 资源及时释放以免OOM -- 又被Java忽悠一次
- 深刻理解C#中资源释放
- 释放C#资源
- (c#) 销毁资源和释放内存