• 第14周作业


    题目:编写一个应用程序,输入一个目录和一个文件类型,显示该目录下符合该类型的所有文件。之后,将这些文件中的某一个文件剪切到另外一个目录中。ps:第一次课请先完成前一部分。

    X类

    package ccut.ch.fourteen;
    
    import java.io.FilenameFilter;
    
    class X implements FilenameFilter{
        
        String type;
        X(String type){
            this.type=type;
        }
    
    	@Override
    	public boolean accept(java.io.File dir, String name) {
    		// TODO Auto-generated method stub
    		  return name.endsWith(type);
    	}
    }
    

    TestMain类

    package ccut.ch.fourteen;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileWriter;
    import java.io.FilenameFilter;
    import java.io.IOException;
    import java.util.Scanner;
    
    public class TestMain {
    
    	public static void main(String[] args) throws IOException {
    		// TODO Auto-generated method stub
    		System.out.println("请输入要查询的文件类型:");
    		File dir = new File("D:\java14");  //创建文件对象dir
    		Scanner scan = new Scanner(System.in);
    		String type = scan.nextLine();   //接收输入查询文件类型
    		X f = new X(type);
    		String[] Files = dir.list(f);    //用字符串形式按type类型返回目录下的文件
    		for (String name : Files) {
    			System.out.println(name);
    		}
    		System.out.println("请输入要剪切的文件名:");
    		String CFname = scan.nextLine();    
    		System.out.println("请输入新的目录:");
    		String Path = scan.nextLine();
    		File cf = new File(Path, CFname);// 此对象是新目录下的同名新文件
    		BufferedInputStream bin = null;
    		BufferedWriter bw = null;
    		int count = 0;
    		byte[] b = new byte[1024];
    		try {
    			cf.createNewFile();
    			bin = new BufferedInputStream(new FileInputStream(cf));
    			String str = "";// 接收原文件中的内容
    			while ((count = bin.read(b, 0, 1024)) != -1) {
    				str = str + new String(b);
    			}
    			bw = new BufferedWriter(new FileWriter(cf, true));
    			bw.write(str);// 将接收的内容写入新文件中
    		} catch (IOException e) {
    
    			e.printStackTrace();
    		} finally {
    			bin.close();
    			bw.close();
    		}
    			cf.delete();// 删除源文件
    	}
    
    }
    

    运行结果




  • 相关阅读:
    老男孩九期全栈Python之基础一
    为善如挽逆水之舟,才放手便下流
    对自己的表现打分
    anki
    解决推送数据平台
    己所独知,尽是方便;人所不见,尽是自由
    常与权
    为什么会一直刷视频而停不下来
    准备换个房子
    UDEC 1
  • 原文地址:https://www.cnblogs.com/ctt886/p/12005452.html
Copyright © 2020-2023  润新知