java遍历文件夹

使用递归:
    import java.io.File;
    import java.util.ArrayList;
    public class FileSystem1 {
        private static ArrayList filelist = new ArrayList();
        public static void main(String[] args) {
            long a = System.currentTimeMillis();
            refreshFileList("C:/Users/shibin/Desktop/tupian");
            System.out.println(System.currentTimeMillis() - a);
        }
        public static void refreshFileList(String strPath) {
            File dir = new File(strPath);
            File[] files = dir.listFiles();
            if (files == null)
                return;
            for (int i = 0; i < files.length; i++) {
                if (files[i].isDirectory()) {
                    refreshFileList(files[i].getAbsolutePath());
                } else {
                    String strFileName = files[i].getAbsolutePath().toLowerCase();
                    System.out.println("---"+strFileName);
                    filelist.add(files[i].getAbsolutePath());
                }
            }
        }
    }  
不使用递归:
import java.io.File;
import java.util.LinkedList;
public class FileSystem {
    public static void main(String[] args) {

        long a = System.currentTimeMillis();
        LinkedList list = new LinkedList();
        File dir = new File("C:/Users/shibin/Desktop/tupian");
        File file[] = dir.listFiles();
        for (int i = 0; i < file.length; i++) {
            if (file[i].isDirectory())
                list.add(file[i]);
            else
                System.out.println(file[i].getAbsolutePath());
        }
        File tmp;
        while (!list.isEmpty()) {
            tmp = list.removeFirst();
            if (tmp.isDirectory()) {
                file = tmp.listFiles();
                if (file == null)
                    continue;
                for (int i = 0; i < file.length; i++) {
                    if (file[i].isDirectory())
                        list.add(file[i]);
                    else
                        System.out.println(file[i].getAbsolutePath());
                }
            } else {
                System.out.println(tmp.getAbsolutePath());
            }
        }

        System.out.println(System.currentTimeMillis() - a);
    }
}

java遍历文件夹

时间: 2024-12-27 05:34:12

java遍历文件夹的相关文章

java 遍历文件夹里的文件

Java遍历文件夹的2种方法: A.不使用递归: import java.io.File; import java.util.LinkedList; public class FileSystem { public static void main(String[] args) { long a = System.currentTimeMillis(); LinkedList list = new LinkedList(); File dir = new File("c:\\java\\&quo

JAVA 遍历文件夹下的所有文件

JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = 0, folderNum = 0; File file = new File(path); if (file.exists()) { LinkedList<File> list = new LinkedList<File>(); File[] files = file.listFile

Java遍历文件夹下所有文件并替换指定字符串

应用场景:比如有一个深层次的文件目录结构,如:javaAPI 每个文件里面都有相同的内容,而我们要统一修改为其他内容.上千个文件如果一个个修改显得太不明智. import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.PrintWriter; public class Test { /** *

Java遍历文件夹下的所以文件

利用Java递归遍历文件夹下的所以文件,然后对文件进行其他的操作.如:对文件进行重命名,对某一类文件进行重编码.可以对某一工程下的全部.java文件进行转码成utf-8等 代码如下,这里只对文件进行重命名操作 1 package com.zhang.test; 2 3 import java.io.File; 4 5 public class getfilepath { 6 7 public static void main(String[] args) { 8 getDirectory(new

Java遍历文件夹及图像缩放批处理

记得我以前写过图像处理的文章是用大学里教的数字图像处理来操作,用个Matlab,不过最近实习中和一妹纸起了一点小冲突,双方都没多少时间处理这些资源,然后我是静下心来去思考了,妹纸怎么会花这么多的时间在这一工作上. 然后跑过去沟通,了解她整个工作的流程,果然有所发现,她修改图片大小是用美图来一张一张改的,整个过程花了1个小时,心里灵机一动,批量处理肯定能写,以前做过类似的,但是妹纸没有Matlab.为了解放生产力,我还是晚上时间把东西赶了出来. 首先说一下文件的规定,有多个文件,每个文件有jpg和

JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)

1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = 0, folderNum = 0; File file = new File(path); if (file.exists()) { LinkedList<File> list = new LinkedList<File>(); File[] files = file.listFiles(); for (File file2 : files)

java遍历文件夹找到所有get方法

import java.io.File; import java.io.IOException; import java.util.Scanner; import java.util.regex.Pattern; import java.util.regex.Matcher; import java.io.FileOutputStream; import java.io.PrintWriter; import java.io.PrintStream; import java.io.FileNot

JAVA 遍历文件夹下文件并更改文件名称

周末因为一些原因,需要批量更改一些文件的名称,使其随机,就随手写了点代码. 增加一个随机字母: public static void changeName(String path){ File file = new File(path); File[] files = file.listFiles(); for (int i = 0; i < files.length; i++) { if(files[i].isDirectory()){ changeName(files[i].toString

java 遍历文件夹所有文件和文件夹

final static void showAllFiles(File dir) throws Exception{ File[] fs = dir.listFiles(); for(int i=0; i<fs.length; i++){ if(fs[i].isFile()){ System.out.println(fs[i].getAbsolutePath()); getWidth(fs[i].getAbsolutePath()); }else{ try{ showAllFiles(fs[i]