一、题目: 

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

二、源代码:

package Work;
import java.io.File;
import java.io.FilenameFilter;
import java.util.Scanner;
public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        System.out.println("输入文件目录:");
        String a=reader.nextLine();
        File f=new File(a);
        System.out.println("输入文件后缀:");
        String b=reader.nextLine();
        FilenameFilter obj=new X(b);
        String[]filename=f.list(obj);
        for (String name:filename){
            System.out.println(name);
        }
        // TODO Auto-generated method stub

    }
    
        }
class X implements FilenameFilter{
    String type;
    X(String type){
        this.type=type;
        
        }
    public boolean accept(File file,String name){
        return name.endsWith(type);
    }

}

三、运行结果:

 

四、剪切:

import java.io.BufferedInputStream;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.Writer;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
public class Second {
    public static void main(String[]args){
        
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入文件名称:");
        File readF=new File(sc.next());
        System.out.println("请输入文件剪切位置:");
        File writeF=new File(sc.next()); 
        InputStream in=null;
        BufferedInputStream bin=null;
        Writer w=null;
        BufferedWriter bw=null;
        String Sget=new String();
        try{
            in=new FileInputStream(readF);
            bin=new BufferedInputStream(in);
            byte[]b=new byte[1024];
            int count=0;
            while((count=bin.read(b,0,1024))!=-1){
                Sget=new String(b,0,count);
                //System.out.println(new String(b,0,count));
            }
            if (!writeF.exists()) {// 判断文件夹是否创建,没有创建则创建新文件
                writeF.createNewFile();
            }
            w=new FileWriter(writeF);
            bw=new BufferedWriter(w);
            //String s=sc.nextLine();
            bw.write(Sget);
            
        }catch(FileNotFoundException e){
            e.printStackTrace();
            
        }catch(IOException e){
            e.printStackTrace();
        }finally{
            try{
                bin.close();
                in.close();
                bw.close();
                w.close();
                readF.delete();
            }catch(IOException e){
                e.printStackTrace();
            }
        }
        
    }

}

运行结果: