开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 948|回复: 0
收起左侧

[android源码] Java简单编写文件目录遍历 以及搜索功能[源码分享]

[复制链接]
结帖率:100% (1/1)
发表于 2017-6-2 01:19:42 | 显示全部楼层 |阅读模式   福建省福州市
import java.io.File;
import java.util.Scanner;
public class FileSearch {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                File file_root[] = File.listRoots();
                for(File info : file_root){
                        System.out.println(info.getPath());
                }
                System.out.print("请输入要遍历的盘:");
                String path = sc.nextLine();
                File file = new File(path);
                while(!file.exists()){
                        file = null;
                        System.out.print("目录不存在,请重新输入:");
                        path = sc.nextLine();
                        file = new File(path);
                }
                boolean is=true;
                while(is){
                        System.out.println("1.输出 目录下的所有文件和文件夹\t2.搜索指定文件\t3退出");
                        String key = sc.nextLine();
                        switch (key) {
                        case "1":
                                printFile(file);
                                break;
                        case "2":
                                System.out.print("请搜索要搜索的文件:");
                                String name = sc.nextLine();
                                printFile(file,name);
                                break;
                        case "3":
                                is=false;
                                break;
                        }
                }
        }
        public static void printFile(File file){
                File fileInfos[] = file.listFiles();
                try {
                        for(File infos:fileInfos){
                                if(infos.isDirectory()){
                                        System.out.println(infos.getPath());
                                        printFile(infos);
                                }else{
                                        System.out.println(infos.getPath());
                                }
                        }
                } catch (NullPointerException e) {
                       
                }

        }
       
        public static void printFile(File file,String name){
                File fileInfos[] = file.listFiles();
              //这里最好try 不然可能会报错
                try {
                        for(File infos:fileInfos){
                                if(infos.isDirectory()){
                                        printFile(infos,name);
                                }else{
                                        if(name.equals(infos.getName())){
                                                System.out.println(infos.getPath());       
                                        }
                                }
                        }
                } catch (NullPointerException e) {
                        //这儿不做处理
                }

        }
       
}

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表