Копирует он из 1 файла в другой без ошибок, но не проходит 3 пункт.
package com.javarush.task.task09.task0929;

import java.io.*;

/*
Обогатим код функциональностью!
*/

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        String sourceFileName = reader.readLine();
        String destinationFileName = reader.readLine();

        try {
            InputStream fileInputStream = getInputStream(sourceFileName);
            OutputStream fileOutputStream = getOutputStream(destinationFileName);

            while (fileInputStream.available() != 0) {
                int data = fileInputStream.read();
                fileOutputStream.write(data);
            }

            fileInputStream.close();
            fileOutputStream.close();
        }
        catch (FileNotFoundException e){
            System.out.println("Файл не существует.");
            try {
                sourceFileName = reader.readLine();
                InputStream fileInputStream = getInputStream(sourceFileName);
                OutputStream fileOutputStream = getOutputStream(destinationFileName);

                while (fileInputStream.available() != 0) {
                    int data = fileInputStream.read();
                    fileOutputStream.write(data);
                }

                fileInputStream.close();
                fileOutputStream.close();
            }
            catch (FileNotFoundException e1){
                System.out.println("Файл не существует.");
            }
        }
    }

    public static InputStream getInputStream(String fileName) throws IOException {
        return new FileInputStream(fileName);
    }

    public static OutputStream getOutputStream(String fileName) throws IOException {
        return new FileOutputStream(fileName);
    }
}