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

    题目描述

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

    源代码

    package homework.fourteen;
    
    import java.io.File;
    import java.util.ArrayList;
    import java.util.Objects;
    import java.util.Random;
    import java.util.Scanner;
    import java.util.function.Predicate;
    
    public class Main {
    	public static boolean existDir(String path) {
    		File dir = new File(path);
    		return (dir.exists() && dir.isDirectory());
    	}
    
    	public static ArrayList<File> getAllFiles(File dir, Predicate<File> predicate) {
    		ArrayList<File> files = new ArrayList<>();
    		for (File file : Objects.requireNonNull(dir.listFiles())) {
    			if (file.isDirectory()) {
    				files.addAll(getAllFiles(file, predicate));
    			} else if (predicate.test(file)) {
    				files.add(file);
    			}
    		}
    		return files;
    	}
    
    	public static void main(String[] args) {
    		Scanner scanner = new Scanner(System.in);
    		System.out.println("请输入所查找的目录与文件类型:");
    		String path = scanner.nextLine();
    		final String ext = scanner.nextLine();
    		if (!existDir(path)) {
    			System.err.println("请输入正确的目录.");
    			return;
    		}
    		ArrayList<File> files = getAllFiles(new File(path), file -> file.getName().endsWith("." + ext));
    		files.stream().map(File::getPath).forEach(System.out::println);
    
    		System.out.println("请输入某一文件将要剪切到的目录:");
    		path = scanner.nextLine();
    		if (!existDir(path)) {
    			System.err.println("请输入正确的目录.");
    			return;
    		}
    		File file = files.get(new Random().nextInt(files.size()));
    		System.out.println("某一文件为: " + file.getPath());
    		final String newFileName = path + File.separator + file.getName();
    		System.out.println("文件剪切" + (file.renameTo(new File(newFileName)) ? "成功" : "失败"));
    	}
    }
    
    

    运行截图



  • 相关阅读:
    客户端验证用户名和密码
    特殊日期提示
    python 多态这一部分的知识点相关应用
    类的继承
    栈,队列的应用
    生成器与for循环的纠葛
    类(class)的形成过程
    报错信息看着哇
    死脑筋要活用(我只放贴图)01
    正则运算跟py语言的结合,知识点层出不穷
  • 原文地址:https://www.cnblogs.com/jinma/p/11989599.html
Copyright © 2011-2022 走看看