`
hy2012_campus
  • 浏览: 29292 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

java实现遍历磁盘所有的文件

    博客分类:
  • java
 
阅读更多

java对某一个磁盘进行递归遍历

import java.io.File;
import java.util.ArrayList;
import java.util.List;
 
 /**
  * 单线程方式遍历所有文件
  * @author Administrator
  *
  */
public class Test {

    private void listFiles(File dir) {
        //获取指定目录下当前的所有文件或文件夹对像
        File[] files = dir.listFiles();
        if (files == null)
            return;
        for (File file : files){
            System.out.println(file.getAbsolutePath());
            if (file.isDirectory()){
                listFiles(file);
            } else {
                System.out.println(file.getAbsolutePath());
            }
        }      
    }
    public void traverseSysDisk(List<String> sysDiskId) {
        for (String diskId : sysDiskId) {
            File fileDir = new File(diskId);
            listFiles(fileDir);
        }
    }
    
    public List<String> getSystemDiskID() {
        File[] files = File. listRoots();
        ArrayList<String> list = new ArrayList<String>();
        for(int i = 0; i < files.length; i++) {
            list.add(files[i].toString());
        }
        return list;
    }
    
    public static void main(String[] args) {
        long t1 = System.currentTimeMillis();
        Test test = new Test();
        List<String> fileList = test.getSystemDiskID();
        test.traverseSysDisk(fileList);
        long t2 = System.currentTimeMillis();
        System. out.println("Total time: " + (t2 - t1) / 1000 + "s." );
    }
}
/**
  * 单线程方式遍历所有文件
  * @author Administrator
  *
  */
public class Test extends Thread {
    private File file;
    public Test(File f) {
        this.file = f;
    }
    public void traverse(File f) {
        if (f == null)
            return;
        if (f.isDirectory()) {
            File[] fileArr = f.listFiles();
            for (File tmp : fileArr) {
                traverse(tmp);
            }
        } else {
            System.out.println(f.getAbsolutePath());
        }
    } 
    @Override
    public void run() {
        traverse( file);
    } 
    public static void main(String[] args) {
        File[] files = File. listRoots();
        for (File file : files) {
            new Test(file).start();
        }   
    }
}

 

分享到:
评论

相关推荐

    java遍历磁盘文件并加入面板中(不含事件)

    遍历硬盘中的所有文件并添到面板当中(不含事件)

    多线程全面遍历磁盘文件

    快速多线程磁盘遍历。优化遍历算法,快速遍历,包括隐藏文件和系统文件在内的全部文件

    java读取磁盘并遍历磁盘文件过程解析

    主要介绍了java读取磁盘并遍历磁盘文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    java完整实现各种类型的文件上传和下载

    此项目用fileupload实现了文件上传,实现了遍历磁盘目录下及其子目录中的内容,并提供下载。 一、文件上传部分 1.访问地址为 http://localhost/UploadAndDownload/index.jsp 2.点击页面上的加一个会增加一个上传...

    java源码包---java 源码 大量 实例

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    JAVA上百实例源码以及开源项目

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    java源码包4

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    java源码包3

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    java源码包2

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    JAVA上百实例源码以及开源项目源代码

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...

    java 本地文件检索程序

    通过本程序,可以检索到本机的各个磁盘,并将要查找的文件搜索出来。

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...

    java解析word文件的相关代码

    如果有多个Word文件,而且放在不同的目录下,要提取它们的文本内容,可以实现一个递归的函数,通过深度遍历,为每一个Word文件进行提取。 如果需要,可以将提取到的Word文件的文本内容输出到本地磁盘中,比如以txt...

    Java压缩解压zip技术_动力节点Java学院整理

    Java解压缩zip - 多个文件(包括文件夹),对多个文件和文件夹进行压缩,对复杂的文件目录进行解压。压缩方法使用的是可变参数,可以压缩1到多个文件

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...

    2018阿里巴巴中间件挑战赛-消息队列存储引擎题目设计基于Java.zip

    - 每隔一定的间隔或符合一定的条件,会创建索引,并在文件中实现一个类似于链表的机制,遍历寻找索引记录 ### Benchmark ### 运行环境: - 阿里云天池平台 - 300GB SSD磁盘 - Linux操作系统 Deadline磁盘调度算法...

Global site tag (gtag.js) - Google Analytics