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)) ? "成功" : "失败"));
    	}
    }
    
    

    运行截图



  • 相关阅读:
    jsonview插件的常见使用方法整理
    有哪些可以节省chrome内存的扩展插件?
    js得到时间戳(10位数)
    html模板引擎jade的使用
    js获取url参数,操作url参数
    追加window.onload函数
    解决jquery与zepto等其它库冲突兼容的问题
    centos 搭建web平台
    简易web服务器(npm)
    js函数调用与声明 (for时注意)
  • 原文地址:https://www.cnblogs.com/jinma/p/11989599.html
Copyright © 2011-2022 走看看