zoukankan      html  css  js  c++  java
  • java中的可释放资源定义,类似c#中的using

    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");
        }
  • 相关阅读:
    程序猿节日快乐!
    Haxe UI框架StablexUI的使用备忘与心得(一)
    sudo fdisk -l
    Win7下硬盘安装fedora17
    盎司
    arm-linux工具
    GSM900TCP/UDP连接
    STC51几种简单的延时函数
    STC51六中中断配置点亮一个LED
    LCD1602小程序
  • 原文地址:https://www.cnblogs.com/nanfei/p/8430918.html
Copyright © 2011-2022 走看看