张迪d

导航

迟来的作业

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

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();
			}
		}	
	}
}

 

 

 

 

 

 

posted on 2019-12-05 19:45  张迪d  阅读(182)  评论(0编辑  收藏  举报