迟来的作业

题目:编写一个应用程序,输入一个目录和一个文件类型,显示该目录下符合该类型的所有文件。之后,将这些文件中的某一个文件剪切到另外一个目录中。

package zuoyeshiyi;
import java.io.*;
import java.util.*;
public class fileDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sca=new Scanner(System.in);
        System.out.println("请输入需要显示的目录");
        String str=sca.nextLine();
        System.out.println("输入需要过滤的文件类型");
        String str1=sca.nextLine();
        File f=new File(str);
            System.out.println("后缀名为"+str1+"的文件有");
            x(f,str1);
            System.out.println("请输入需要剪切的文件");
            String str2=sca.nextLine();
            System.out.println("请输入剪切到的文件名称");
            String str3=sca.nextLine();
            jianqie(str2,str3);
            File file=new File(str2);
            file.delete();
    }
    public static void x(File f,String str1) {
        String []arr=f.list(new FilenameFilter() {
            public boolean accept(File dir,String name)
            {  
                return name.endsWith(str1);//后缀名是否相同
            }
        });
        System.out.println(arr.length);
        for(String name:arr) {
            System.out.println(name);
        }
    }
    public static void jianqie(String str2,String str3)  {
         
        BufferedInputStream bis=null;
        BufferedOutputStream bos=null;
        try {
             bis=new BufferedInputStream(new FileInputStream(str2));
             bos=new BufferedOutputStream(new FileOutputStream(str3));
            int k=0;
            while((k=bis.read())!=-1) {
                bos.write(k);
                bos.flush();               
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            try {
                bis.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            try {
                bos.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }  
    }
}

 

原文地址:https://www.cnblogs.com/chen4635/p/12008458.html