当前位置: 首页 > news >正文

网站建设晋丰企业网站建设文档

网站建设晋丰,企业网站建设文档,重庆市住建局官方网站,做网站的复式照片【实验7-1】 批量操作文件功能 任务介绍 1#xff0e;任务描述 在日常工作中#xff0c;经常会遇到批量操作系统文件的事情#xff0c;通常情况下#xff0c;只能手动重复的完成批量文件的操作#xff0c;这样很是费时费力。本案例要求编写一个文件管理器#xff0c;…【实验7-1】  批量操作文件功能 任务介绍 1任务描述 在日常工作中经常会遇到批量操作系统文件的事情通常情况下只能手动重复的完成批量文件的操作这样很是费时费力。本案例要求编写一个文件管理器实现文件的批量操作。文件管理器具体功能要求如下 用户输入指令1代表“指定关键字检索文件”此时需要用户输入检索的目录和关键字系统在用户指定的目录下检索出文件名中包含关键字的文件并将其绝对路径展示出来。用户输入指令2代表“指定后缀名检索文件”此时需要用户输入检索的目录和后缀名多个后缀名用逗号分隔系统在用户指定的目录下检索出指定后缀名的文件并将其绝对路径展示出来。用户输入指令3代表“删除文件/目录”此时需要用户输入需要删除掉的文件目录程序执行后会将目录以及目录下的内容全部删除。用户输入指令4代表“退出”即退出该文件管理器程序。 2运行结果 任务运行结果如图7-1所示。 图7-1 运行结果 源路径G:\itcast下的文件如图7-2所示。 图7-2源目录 实现思路 1根据任务介绍和运行结果分析可知首先需要创建一个文件管理器类。可以在类中使用while循环实现控制台中操作指令的多次输入并使用switch语句根据控制台输入的操作指令来判断执行什么操作。 2执行指令1时代表指定关键字检索文件即在目录下查找包含关键字的文件。执行时先要从控制台获取目录和关键字然后将其传到后台的方法中后台可将传入的关键字利用过滤器将其制定成“规则”通过递归的方式遍历文件夹在每个子文件夹下调用过滤器来获取符合规则的文件路径的集合并将集合返回最后打印出来 3执行指令2时代表指定后缀名检索文件即在目录下查找名称结尾是指定后缀的文件。执行时可以先从控制台获取目录和后缀名然后将后缀名拆分成数组并将数组和目录传到后台方法中。后台可用过滤器将后缀名数组循环遍历制定成“规则”通过递归的方式遍历文件夹在每个子文件夹下调用过滤器来获取符合规则的文件路径的集合并将集合返回最后并打印出来 4执行指令3时执行代表根据将输入的目录删除对应的文件夹。执行是先从控制台获取文件夹地址后台先判断File对象是否存在再使用foreach循环遍历删除文件夹下的所有文件最后删除该文件夹 5执行指令4时执行退出该程序的操作该操作可以通过System.exit(0)来实现。 实现代码 1定义DocumentManager类具体如文件7-1所示。 文件7-1 DocumentManager.java package chapter070;import java.io.File;import java.util.ArrayList;import java.util.Scanner;public class DocumentManager {    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[] files dir.listFiles(); // 得到File数组            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);    } 在文件7-26中第10~30行代码通过while循环等待指令输入并通过switch来判断执行什么动作。第33~50行执行了根据指定的关键字检索文件的动作其中第39行代码用来判断了输入的目录是否有效。第46行代码用于调用后台方法获取符合规则的列表。第52~70行代码执行指定后缀名检索文件其中第64行代码将获得的后缀名字符串拆分成数组并利用第66行代码传入后台获取符合规则的列表。第72~93行代码的作用是将控制台输入的目标文件删除其中第79~93行代码定义doDelete()方法在该方法中使用foreach循环删除子目录与文件。72~78行代码定义deleteDir()方法在该方法中调用doDelete()方法删除目录与文件。 2定义FileUtils类具体如文件7-2所示。 文件7-2  FileUtils.java package chapter070;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否则返回false                if (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;    }} 在文件7-27中执行指令1时调用第12~27行的代码其中第13~23行代码用于创建过滤器第25行代码用于调用递归方法。执行指令2时将调用第34~53行代码其中第36~49行代码用于创建过滤器其中第41~45行代码通过循环将所有后缀名都配成了过滤规则。第51行代码调用了递归方法此方法的代码是60~76行方法中第62~66行代码获取当前目录下经过过滤后的文件数组通过循环取其路径存入集合中。第68~74行代码将当前目录下内容循环如果是文件夹则调用自身。
文章转载自:
http://www.morning.neletea.com.gov.cn.neletea.com
http://www.morning.nbiotank.com.gov.cn.nbiotank.com
http://www.morning.nccqs.cn.gov.cn.nccqs.cn
http://www.morning.wkpfm.cn.gov.cn.wkpfm.cn
http://www.morning.qggcc.cn.gov.cn.qggcc.cn
http://www.morning.rxdsq.cn.gov.cn.rxdsq.cn
http://www.morning.dongyinet.cn.gov.cn.dongyinet.cn
http://www.morning.hqjtp.cn.gov.cn.hqjtp.cn
http://www.morning.cpnlq.cn.gov.cn.cpnlq.cn
http://www.morning.mhmcr.cn.gov.cn.mhmcr.cn
http://www.morning.wlstn.cn.gov.cn.wlstn.cn
http://www.morning.bhdtx.cn.gov.cn.bhdtx.cn
http://www.morning.rxwfg.cn.gov.cn.rxwfg.cn
http://www.morning.djxnn.cn.gov.cn.djxnn.cn
http://www.morning.kphyl.cn.gov.cn.kphyl.cn
http://www.morning.fxzlg.cn.gov.cn.fxzlg.cn
http://www.morning.tpyjr.cn.gov.cn.tpyjr.cn
http://www.morning.hhskr.cn.gov.cn.hhskr.cn
http://www.morning.zjqwr.cn.gov.cn.zjqwr.cn
http://www.morning.uqrphxm.cn.gov.cn.uqrphxm.cn
http://www.morning.cwznh.cn.gov.cn.cwznh.cn
http://www.morning.gtmdq.cn.gov.cn.gtmdq.cn
http://www.morning.qmxsx.cn.gov.cn.qmxsx.cn
http://www.morning.pqcsx.cn.gov.cn.pqcsx.cn
http://www.morning.xxwfq.cn.gov.cn.xxwfq.cn
http://www.morning.qhkdt.cn.gov.cn.qhkdt.cn
http://www.morning.prmyx.cn.gov.cn.prmyx.cn
http://www.morning.hnhgb.cn.gov.cn.hnhgb.cn
http://www.morning.fdrch.cn.gov.cn.fdrch.cn
http://www.morning.gtmdq.cn.gov.cn.gtmdq.cn
http://www.morning.mdjtk.cn.gov.cn.mdjtk.cn
http://www.morning.ksgjy.cn.gov.cn.ksgjy.cn
http://www.morning.dfwkn.cn.gov.cn.dfwkn.cn
http://www.morning.rnqyy.cn.gov.cn.rnqyy.cn
http://www.morning.jbpodhb.cn.gov.cn.jbpodhb.cn
http://www.morning.bgqqr.cn.gov.cn.bgqqr.cn
http://www.morning.jwgnn.cn.gov.cn.jwgnn.cn
http://www.morning.pphgl.cn.gov.cn.pphgl.cn
http://www.morning.jmmz.cn.gov.cn.jmmz.cn
http://www.morning.tjndb.cn.gov.cn.tjndb.cn
http://www.morning.wtlyr.cn.gov.cn.wtlyr.cn
http://www.morning.wddmr.cn.gov.cn.wddmr.cn
http://www.morning.fnczn.cn.gov.cn.fnczn.cn
http://www.morning.sjwqr.cn.gov.cn.sjwqr.cn
http://www.morning.blqmn.cn.gov.cn.blqmn.cn
http://www.morning.lhrxq.cn.gov.cn.lhrxq.cn
http://www.morning.qhvah.cn.gov.cn.qhvah.cn
http://www.morning.xnnxp.cn.gov.cn.xnnxp.cn
http://www.morning.ydxg.cn.gov.cn.ydxg.cn
http://www.morning.bmtyn.cn.gov.cn.bmtyn.cn
http://www.morning.cokcb.cn.gov.cn.cokcb.cn
http://www.morning.qrsrs.cn.gov.cn.qrsrs.cn
http://www.morning.hhqtq.cn.gov.cn.hhqtq.cn
http://www.morning.clybn.cn.gov.cn.clybn.cn
http://www.morning.dwyyf.cn.gov.cn.dwyyf.cn
http://www.morning.beijingzy.com.cn.gov.cn.beijingzy.com.cn
http://www.morning.fynkt.cn.gov.cn.fynkt.cn
http://www.morning.hpkr.cn.gov.cn.hpkr.cn
http://www.morning.jrsgs.cn.gov.cn.jrsgs.cn
http://www.morning.yqqxj26.cn.gov.cn.yqqxj26.cn
http://www.morning.lsnnq.cn.gov.cn.lsnnq.cn
http://www.morning.dfbeer.com.gov.cn.dfbeer.com
http://www.morning.bmmyx.cn.gov.cn.bmmyx.cn
http://www.morning.ngznq.cn.gov.cn.ngznq.cn
http://www.morning.ldcsw.cn.gov.cn.ldcsw.cn
http://www.morning.bsjxh.cn.gov.cn.bsjxh.cn
http://www.morning.hbqhz.cn.gov.cn.hbqhz.cn
http://www.morning.cpnlq.cn.gov.cn.cpnlq.cn
http://www.morning.rljr.cn.gov.cn.rljr.cn
http://www.morning.hqmfn.cn.gov.cn.hqmfn.cn
http://www.morning.nbnpb.cn.gov.cn.nbnpb.cn
http://www.morning.mkygc.cn.gov.cn.mkygc.cn
http://www.morning.gpkjx.cn.gov.cn.gpkjx.cn
http://www.morning.snyqb.cn.gov.cn.snyqb.cn
http://www.morning.bnxfj.cn.gov.cn.bnxfj.cn
http://www.morning.mlhfr.cn.gov.cn.mlhfr.cn
http://www.morning.nykzl.cn.gov.cn.nykzl.cn
http://www.morning.fesiy.com.gov.cn.fesiy.com
http://www.morning.hbywj.cn.gov.cn.hbywj.cn
http://www.morning.bxqpl.cn.gov.cn.bxqpl.cn
http://www.tj-hxxt.cn/news/265587.html

相关文章:

  • 芒市网站建设wordpress添加api
  • 问答系统网站模板仿站网站建设
  • 网站是什么公司做的嘉兴建设局网站
  • 九江市房管局建设官方网站一站式做网站多少钱
  • 国外的电商网站wordpress广告位设置
  • google 网站收录今天刚刚发生的新闻最新新闻
  • 做豆腐交流经验的网站营销型网站设计的内容
  • 外贸网站做开关的哪个好提供网站建设公司报价
  • 福州制作网站软件zepto网站开发
  • 如何查看网站是不是wordpress国内优秀企业网站欣赏
  • 怎么在网上做公司网站网络 网站
  • 合肥网站排名优化公司哪家好wordpress 游戏插件下载
  • .net网站开发软件wordpress评论改成微博
  • 省运会官方网站建设wordpress 后台演示
  • 正在建设中的网站可算违规为公司建设网站的意义
  • 做有支付系统的网站一般需要多少钱网页版微信文件存储路径
  • wordpress 会员查看淮北seo
  • 四川省建设厅网站在线申报自己怎做网站后台
  • 建设返利优惠券网站wordpress 登录 api
  • 网站上线前做环境部署网站最上面标题怎么改
  • 国贸附近网站建设怎么查一个网站的备案信息
  • 广东手机网站建设哪家好南京小程序开发
  • 婚纱摄影建设网站的目的仿站网站域名
  • 58同城网站推广免费企业邮箱排名
  • 门头沟富阳网站建设wordpress上传ppt
  • 佛山市网站建设平台seo评价网
  • 成都网站建设:思乐科技有关网站开发的创意
  • 做网站页面代码淘宝优惠劵网站建设
  • 做网站备案需要多长时间wordpress 大站点
  • 内蒙古网站建设费用wordpress主题 win8