LINUX.ORG.RU

История изменений

Исправление Bioreactor, (текущая версия) :

$ cat Main.java

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Main {
    public static void main(String...args) {
        TryResoursesDemo.copyFile(args[0], args[1]);
    }
}

class TryResoursesDemo {
    public static void copyFile(String fileFrom, String fileTo) {
        try (FileInputStream fin = new FileInputStream(fileFrom);
             FileOutputStream fout  = new FileOutputStream(fileTo);
        ) {
            int ch;
            while ((ch = fin.read()) != -1) {
                fout.write(ch);
            }
            System.out.println("file has been copyied.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

$ javac Main.java

$ java Main Main.java Main.txt
file has been copied.

$ 

FileNotFoundException - наследник IOException - checked.

Можете еще «ловить» в конструкторах

SecurityException - наследник RuntimeException - unchecked.

Исходная версия Bioreactor, :

$ cat Main.java

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Main {
    public static void main(String...args) {
        TryResoursesDemo.copyFile(args[0], args[1]);
    }
}

class TryResoursesDemo {
    public static void copyFile(String fileFrom, String fileTo) {
        try (FileInputStream fin = new FileInputStream(fileFrom);
             FileOutputStream fout  = new FileOutputStream(fileTo);
        ) {
            int ch;
            while ((ch = fin.read()) != -1) {
                fout.write(ch);
            }
            System.out.println("file has been copyied.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

$ javac Main.java

$ java Main Main.java Main.txt
file has been copied.

$