第14周作业

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

ps:第一次课请先完成前一部分。

代码:

package hj;
import java.io.*;
import java.util.*;
public class filename {
    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();
       shear(str2,str3);
        File file=new File(str2);
        file.delete();
    }

    public static void shear(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();
            }
        }
    }
    public static void x(File f, final 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);
        }
    }
}

运行截图:

 

posted @ 2019-12-08 17:23  jhyjhy  阅读(82)  评论(0编辑  收藏  举报