北京大龙建设集团有限公司网站网站开发中常用的技术和工具
- 作者: 五速梦信息网
- 时间: 2026年03月21日 09:59
当前位置: 首页 > news >正文
北京大龙建设集团有限公司网站,网站开发中常用的技术和工具,seo教程视频,南京h5网站开发在日常工作中#xff0c;经常会遇到批量操作系统文件的事情#xff0c;通常情况下#xff0c;只能手动重复的完成批量文件的操作#xff0c;这样很是费时费力。 本案例要求编写一个文件管理器#xff0c;实现文件的批量操作。 文件管理器具体功能要求如下#xff1a; 用… 在日常工作中经常会遇到批量操作系统文件的事情通常情况下只能手动重复的完成批量文件的操作这样很是费时费力。 本案例要求编写一个文件管理器实现文件的批量操作。 文件管理器具体功能要求如下 用户输入指令1代表“指定关键字检索文件”此时需要用户输入检索的目录和关键字系统在用户指定的目录下检索出文件名中包含关键字的文件并将其绝对路径展示出来。用户输入指令2代表“指定后缀名检索文件”此时需要用户输入检索的目录和后缀名多个后缀名用逗号分隔系统在用户指定的目录下检索出指定后缀名的文件并将其绝对路径展示出来。用户输入指令3代表“删除文件/目录”此时需要用户输入需要删除掉的文件目录程序执行后会将目录以及目录下的内容全部删除。用户输入指令4代表“退出”即退出该文件管理器程序。 package cn.javabs.cases;import java.io.File; import java.util.ArrayList; import java.util.Scanner;public class DocManager {public static void main(String[] args) throws Exception {Scanner sc new Scanner(System.in);System.out.println(–1:指定关键字检索文件 2:指定后缀名检索文件 3:删除文件/目录 4:退出–);while (true) {System.out.print(请输入指令);int command sc.nextInt();switch (command) {case 1://指定关键字检索文件searchByKeyWorld();break;case 2://指定后缀名检索文件searchBySuffix();break;case 3://删除文件/目录deleteDir();break;case 4://退出exit();break;default:System.out.println(您输入的指令错误);break;}}}// ******1.指定关键字检索文件******private static void searchByKeyWorld() {Scanner sc new Scanner(System.in);System.out.print(请输入要检索的目录位置);String path sc.next();//从控制台获取路径File file new File(path);//判断目录是否存在是否是目录if (!file.exists() || !file.isDirectory()) {System.out.println(path (不是有效目录));return;}System.out.print(请输入搜索关键字);String key sc.next();//获取关键字//在输入目录下获取所有包含关键字的文件路径ArrayListString list FileUtils.listFiles(file, key);for (Object obj : list) {//将路径打印到控制台System.out.println(obj);}}// ******2.指定后缀名检索文件*****//private static void searchBySuffix() {Scanner sc new Scanner(System.in);System.out.print(请输入要检索的目录位置);String path sc.next();//从控制台获取路径File file new File(path);//判断目录是否存在是否是文件夹if (!file.exists() || !file.isDirectory()) {System.out.println(path (不是有效目录));return;}System.out.print(请输入搜索后缀);String suffix sc.next();//获取后缀字符串String[] suffixArray suffix.split(,);//在输入目录下获取所有指定后缀名的文件路径ArrayListString list FileUtils.listFiles(file, suffixArray);for (Object obj : list) {//将路径打印到控制台System.out.println(obj);}}// ******3.删除文件/目录*******//private static void deleteDir() {Scanner sc new Scanner(System.in);System.out.print(请输入需要删除的源目录);String delpath sc.next();// 从控制台获取源路径File dir new File(delpath); // 创建一个代表目录的File对象doDelete(dir);}private static void doDelete(File dir) {if (dir.exists()) { // 判断传入的File对象是否存在// 得到File数组File[] files dir.listFiles(); // 遍历所有的子目录和文件for (File file : files) { if (file.isDirectory()) {doDelete(file); // 如果是目录递归调用deleteDir()} else {// 如果是文件直接删除file.delete();}}// 删除完一个目录里的所有文件后就删除这个目录dir.delete();}}// ******4.退出****//private static void exit() {System.out.println(您已退出系统谢谢使用);System.exit(0);} } 工具类 import java.io.File; import java.io.FilenameFilter; import java.util.ArrayList;public class FileUtils { / 指定关键字检索文件* param file File对象* param key 关键字* return 包含关键字的文件路径/public static ArrayListString listFiles(File file, final String key){// 创建过滤器对象FilenameFilter filter new FilenameFilter() { // 实现accept()方法public boolean accept(File dir, String name) {File currFile new File(dir, name);// 如果文件名包含关键字返回true否则返回falseif (currFile.isFile() name.contains(key)) {return true;}return false;}};//递归方式获取规定的路径ArrayListString arraylist fileDir(file, filter);return arraylist;}/** 指定后缀名检索文件* param file File对象* param suffixArray 后缀名数组* return 指定后缀名的文件路径/public static ArrayListString listFiles(File file,final String[] suffixArray) {FilenameFilter filter new FilenameFilter() { // 创建过滤器对象// 实现accept()方法public boolean accept(File dir, String name) {File currFile new File(dir, name);if (currFile.isFile()) {for (String suffix : suffixArray) {if (name.endsWith(. suffix)) {return true;}}}return false;}};//递归方式获取规定的路径ArrayListString arraylist fileDir(file, filter);return arraylist;}/** 递归方式获取规定的路径* param dir File对象* param filter 过滤器* return 过滤器过滤后的文件路径*/public static ArrayListString fileDir(File dir, FilenameFilter filter){ArrayListString arraylist new ArrayListString();// 获得过滤后的所有文件数组File[] lists dir.listFiles(filter); for (File list : lists) {//将文件的绝对路径放到集合中arraylist.add(list.getAbsolutePath());}// 获得当前目录下所有文件的数组File[] files dir.listFiles();// 遍历所有的子目录和文件for (File file : files) {if (file.isDirectory()) {// 如果是目录递归调用fileDir()ArrayListString every fileDir(file, filter);arraylist.addAll(every);//将文件夹下的文件路径添加到集合中}}//此时的集合中有当前目录下的文件路径和当前目录的子目录下的文件路径return arraylist;} }
- 上一篇: 北京橙乐视觉广告有限公司网站优化垂直化好还是扁平化好
- 下一篇: 北京大型网站建设网站服务器维护内容
相关文章
-
北京橙乐视觉广告有限公司网站优化垂直化好还是扁平化好
北京橙乐视觉广告有限公司网站优化垂直化好还是扁平化好
- 技术栈
- 2026年03月21日
-
北京城乡建设厅网站html5 网站开发工具
北京城乡建设厅网站html5 网站开发工具
- 技术栈
- 2026年03月21日
-
北京城乡建设官方网站网站备案查询app下载
北京城乡建设官方网站网站备案查询app下载
- 技术栈
- 2026年03月21日
-
北京大型网站建设网站服务器维护内容
北京大型网站建设网站服务器维护内容
- 技术栈
- 2026年03月21日
-
北京大型网站制作公司易语言做检测网站更新
北京大型网站制作公司易语言做检测网站更新
- 技术栈
- 2026年03月21日
-
北京大兴行业网站建设公司html模板素材
北京大兴行业网站建设公司html模板素材
- 技术栈
- 2026年03月21日






