Программа, которая копирует файлы с определенным расширением из одной папки, в другую

Класс с точкой входа:

package com.gmail.vleynik.olad;

import java.io.File;
import java.io.IOException;

public class Solution {


    public static void main(String[] args) {
        File fromFolder = new File("C://banana");
        File toFolder = new File("C://trash");
        try {
            FileService.copyFolder(fromFolder, toFolder);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

Класс, который выполняет копирование:

package com.gmail.vleynik.olad;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class FileService {

    public static void copyFile(File in, File out) throws IOException {
        try (InputStream is = new FileInputStream(in); OutputStream os = new FileOutputStream(out)) {
            long copyBytes = is.transferTo(os);
        } catch (IOException e) {
            throw e;
        }
    }


    public static void copyFolder(File folderFrom, File folderTo) throws IOException {
        if (!folderFrom.exists() || !folderTo.exists()) {
            throw new IllegalArgumentException();
        }
        File[] files = folderFrom.listFiles();
        for (int i = 0; i < files.length; i++) {
            if (files[i].isFile() && files[i].toString().endsWith(".doc")) {
                File out = new File(folderTo, files[i].getName());
                copyFile(files[i], out);
            }
        }

    }

}

Предложенное вами решение верно