T01章[Java IO系统] 作业

查询一个文件下的所有同类型的文件

import java.io.File;
import java.io.FileFilter;

public class SearchFile {
    private static void searchFiles(File file,String str){
        /*File[]fs =file.listFiles(new FileFilter() {
            
            @Override
            public boolean accept(File fileName) {
                // TODO Auto-generated method stub
                return fileName.getName().endsWith(str);
            }
        });*/
        File[] fs = file.listFiles();
        for(File f:fs){
            if(f.getName().endsWith(str))
            System.out.println(f.getName());
            if(f.isDirectory()){
                searchFiles(f, str);
            }
        }
    }

    public static void main(String[] args) {
        File file = new File("E:");
        String str =".txt";
        searchFiles(file, str);

    }

}

复制一个文件夹下的所有文件

package ch0318hw;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;

public class Copy {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要复制的文件夹");
        String str1 = sc.nextLine();
        System.out.println("请输入要复制的地址");
        String str2 = sc.nextLine();
        File f1 = new File(str1);
        File f2 = new File(str2);
        copyDirectory(f1, f2);

    }

    private static void copyDirectory(File f1, File f2) {
        //System.out.println(f2.getAbsolutePath());
        //System.out.println(f1.getName());
        File fb=new File(f2.getAbsolutePath(),f1.getName());
        if(!fb.exists()){
            fb.mkdirs();
        }

        File[] file = f1.listFiles();
        for (File fa : file) {
            if (fa.isFile()) {
                //创建fa的名字.位置在f2
                System.out.println(fb.getAbsolutePath());
                System.out.println(fa.getName());
                File fb1=new File(fb.getAbsolutePath(),fa.getName());
                if(!fb1.exists()){
                    try {
                        fb1.createNewFile();
                        FileInputStream fis = new FileInputStream(fa);
                        FileOutputStream fos = new FileOutputStream(fb1);
                        byte[]buf =new byte[(int) fa.length()];
                        fis.read(buf);
                        fos.write(buf);
                        fos.close();
                        fis.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }

            }
            if(fa.isDirectory()){
                
                copyDirectory(fa, fb);
            }
        }

    }

}
原文地址:https://www.cnblogs.com/lujing-newer/p/6580886.html