zoukankan      html  css  js  c++  java
  • 迟到的第14周作业

    一、题目

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

    二、代码

    filee.java

    package cn;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileWriter;
    import java.io.FilenameFilter;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.Writer;
    import java.util.Scanner;
    
    public class Filee {
        public static void main(String[] args) {
            Scanner reader = new Scanner(System.in);
            System.out.println("输入一个路径");
            String path = reader.nextLine();
            File file = new File(path);
    
            // FilenameFilter fn=new Way(rail);
            String[] filenames = file.list();
            for (String name : filenames) {
                System.out.println(name);
            }
            System.out.println("输入查询后缀:");
            String rail = reader.nextLine();
            Way way = new Way(rail);
            String[] filenames2 = file.list(way);// 将查询后的文件名放入数组里
            for (String name : filenames2) {
                System.out.println(name);
            }
            System.out.println("请输入需要剪切的文件名:");
            String cutFileName = reader.nextLine();
            File file2 = new File(path + "\" + cutFileName);// 存入原文件
            System.out.println("请输入该文件需要移动到的目录:");
            String cutFileWay = reader.nextLine();
            File cutlist = new File(cutFileWay);// 存入目录
            File newfile = new File(cutFileWay + "\" + cutFileName);// 存入新目录下新文件
            try {
                newfile.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
            InputStream ins = null;// 声明
            BufferedInputStream bins = null;
            Writer writer = null;
            BufferedWriter bw = null;
            String filedata = "";
            try {
                ins = new FileInputStream(file2);
                bins = new BufferedInputStream(ins);
                byte[] b = new byte[1024];
                int count = 0;
                try {
                    while ((count = bins.read(b, 0, 1024)) != -1) {
                        filedata = filedata + new String(b, 0, count);// 将字符串放入新文件
                    }
                    writer = new FileWriter(newfile);
                    bw = new BufferedWriter(writer);
                    bw.write(filedata);
    
                } catch (IOException e) {
                    e.printStackTrace();
                } 
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            try {
                bins.close();
                ins.close();
                bw.close();
                writer.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            file2.delete();
        }
    
    }
    
    class Way implements FilenameFilter {
        String type;
    
        Way(String type) {
            this.type = type;
        }
    
        public boolean accept(File dir, String name) {
            return name.endsWith(type);
        }
    }

    三、运行结果

     

     

  • 相关阅读:
    unity5, Configurable Joint: Anchor, Connected Anchor, Auto Configure Connected Anchor
    unity physics joint
    unity camera aspect
    spineRuntTime for cocos2dx v3,attack播完后回到idle
    spineRunTime for cocos2dx v3 中动画播完删除animation
    spine 2.1.27 Pro 叠加方式(Blending)
    unity5 静态和动态cubmap
    INFINITY的一个坑
    Linux下配置MySQL需要注意的几点
    更换网页tab标题图标
  • 原文地址:https://www.cnblogs.com/leeyangtongxue/p/11999875.html
Copyright © 2011-2022 走看看