精华内容
下载资源
问答
  • java 遍历目录下文件

    2016-08-28 11:54:23
    遍历指定目录下文件 1. 深度优先遍历 如果给定的目录下的内容为: 1  2  5.txt  3  6.txt  4  xxx.txt 输出顺序为: 1 2 5.txt 3 6.txt 4 xxx.txt 代码如下: 2. 广度优先遍历 如果给定的目录下的内容...

    遍历指定目录下的文件

    1. 深度优先遍历

    如果给定的目录下的内容为:

    1

          2

         5.txt

          3

         6.txt

          4

          xxx.txt

    输出顺序为: 1  2  5.txt  3  6.txt   4  xxx.txt

    代码如下:


    2. 广度优先遍历

    如果给定的目录下的内容为:

    1

          2

         5.txt

          3

         6.txt

          4

          xxx.txt

    输出顺序为: 1  2  3  4  xxx.txt  5.txt  6.txt   

    代码如下:

    广度优先遍历时需要用到队列(First in First out)的概念

    展开全文
  • 一、遍历目录下文件(不包括子目录下文件) public static void main(String[] args) { String inputPath = "F:\\log\\test"; File file = new File(inputPath); //获取其file对象 File[] fs = file...

    一、遍历目录下的文件(不包括子目录下文件)

        public static void main(String[] args) {
            String inputPath = "F:\\log\\test";
            File file = new File(inputPath);      //获取其file对象
            File[] fs = file.listFiles();     //遍历path下的文件和目录,放在File数组中
            for(File f:fs){                //遍历File[]数组
                String fileName = f.getName();  //获取文件和目录名
                if (!f.isDirectory()) {  //另外可用fileName.endsWith("txt")来过滤出以txt结尾的文件
                    logger.info("isFile:"+f);     //打印文件全路径
                    logger.info("isFile:"+fileName); //打印文件名
                }
            }
        }

    打印结果如下:

    二、遍历目录下的所有文件(包括子目录下文件)

    private static void func(File file) {
            File[] fs = file.listFiles();
            for (File f : fs) {
                if (f.isDirectory())    //若是目录,则递归打印该目录下的文件
                    func(f);
                if (f.isFile())        //若是文件,直接打印
                    System.out.println(f);
            }
        }
        public static void main(String[] args) {
            String inputPath = "F:\\log\\test";;		//要遍历的路径
            File file = new File(inputPath);		//获取其file对象
            func(file);
        }

     

    打印结果如下:

    三、一行一行的遍历文件内容

    private static void parseFile(File file) {
            BufferedReader reader = null;
            try {
                InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "GBK");
                reader = new BufferedReader(isr);
                String line;
                // 一次读入一行,直到读入null为文件结束
                int i=0;
                while ((line = reader.readLine()) != null) {
                    System.out.println(i+"---"+line);
                    i++;
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (reader != null) {
                    try {
                        reader.close();
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }
                }
            }
        }

     

    展开全文
  • 使用java遍历目录下文件并输出

    千次阅读 2016-07-27 20:01:02
    遍历项目目录下所有.java .xml并输出txt文档中

    今天boss说项目需要审核,需要将代码拷贝到文档中,一个个拷贝嫌麻烦,再说还有那么多项目,于是就写个小工具遍历项目目录下所有.java .xml并输出txt文档中

    <1>首先查资料,怎么让java程序在windows上跑起来,大概是让你将java程序导出成jar包再使用工具转化成exe可运行程序,感觉步骤繁琐,且不利于编程就放弃

    <2>上一种方法不行就只有自己想思路啦,(这就苦逼啦),恰巧最近使用bat命令于是就有思路啦,还记得当初学习java时配置环境变量后的两个命令吗,没错就是javac,和java ,有了这两个命令就可以这届编写一个带有main方法的java直接运行啦

    <3>开始编写java文件(直接贴代码啦,感觉废话太多)

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.LinkedList;
    import java.util.concurrent.Executors;
    
    public class Main {
    
        private static int allLines = 0;
        private static String outputFileNane = "output/output.txt";
    
    
        public static void main(String[] args) {
            Executors.newCachedThreadPool().execute(new Runnable() {
    
                @Override
                public void run() {
                    File dir = new File("in");
                    if (dir.exists()) {
                        for (File file : dir.listFiles()) {
                            scanDirNoRecursion(file);
                        }
                    }
    
                }
            });
        }
    
        public static void readFile(File file) {
            if (file.exists()) {
                String fileName = file.getName();
                if (fileName.endsWith(".java") || fileName.endsWith(".xml")) {
                    BufferedWriter bw = null;
                    BufferedReader br = null;
                    try {
                        bw = new BufferedWriter(new FileWriter(outputFileNane, true));
                        bw.write(fileName);
                        bw.newLine();
                        bw.flush();
                        br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "utf-8"));
                        String line = null;
                        while ((line = br.readLine()) != null) {
                            allLines++;
                            bw.write(line);
                            bw.newLine();
                            bw.flush();
                        }
                        br.close();
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    } finally {
                        if (bw != null) {
                            try {
                                bw.close();
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
                        }
                    }
    
                }
            }
    
        }
    
        public static void writeLines() {
            BufferedWriter bw = null;
            try {
                bw = new BufferedWriter(new FileWriter(outputFileNane, true));
                bw.newLine();
                bw.write("all lines:" + allLines);
                bw.flush();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                if (bw != null) {
                    try {
                        bw.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    
        private static ArrayList<String> filter = new ArrayList<String>();
        static {
            filter.add(".settings");
            filter.add("assets");
            filter.add("gen");
            filter.add("libs");
            filter.add("bin");
            filter.add(".gradle");
            filter.add(".idea");
            filter.add(".gradle");
            filter.add("build");
            filter.add("gradle");
        }
    
        // 遍历目录
        public static void scanDirNoRecursion(File dir) {
            // 定义文件列表
            LinkedList<File> list = new LinkedList<File>();
            if (dir.exists()) {
                outputFileNane = "output/"+dir.getName() + ".txt";
                File file=new File(outputFileNane);
                if(file.exists()){
                    file.delete();
                }
                File[] files = dir.listFiles();
                int length1 = files.length;
                for (int i = 0; i < length1; i++) {
                    if (files[i].isDirectory() && !filter.contains(files[i].getName())) {
                        list.add(files[i]);
                    } else {
                        readFile(files[i]);
                    }
                }
                File tmp;
                while (!list.isEmpty()) {
                    tmp = (File) list.removeFirst();// 首个目录
                    if (tmp.isDirectory()) {
                        files = tmp.listFiles();
                        if (files == null)
                            continue;
                        int length2 = files.length;
                        for (int i = 0; i < length2; i++) {
                            if (files[i].isDirectory() && !filter.contains(files[i].getName()))
                                list.add(files[i]);// 目录则加入目录列表,关键
                            else {
                                readFile(files[i]);
                            }
                        }
                    }
                }
            }
            writeLines();
        }
    
    }
    

    <4>主体就是三个方法一个scanDirNoRecursion(File dir)用于遍历目录,一个readFile(File file) 用于读取文件内容到输出文件中,还有用于统计总行数的方法。最后工具的目录结构如下:

    这里写图片描述

    <5>使用方法:在in目录中放入需要遍历的项目,点击bat会在output中会输出对应文件bat代码为:

    javac Main.java
    java Main
    展开全文
  • Java遍历目录所有文件,读取指定文件夹的所有文件名,并列出来,使用java.io.File 类的方法来访问系统中的目录,在窗口上部的文本框中输入c 盘根目录“c:\”,按窗口下部的按钮“View”,则在窗口中部的文本区...
  • Java遍历目录显示文件列表,读取文件夹中的所有文件,并以列表的形式显示出这些文件,下面来看一下相关的代码:  class ShowDirListener implements ActionListener {//取得目录内容的事件处理   public void ...
  • Java遍历目录下的所有文件

    万次阅读 多人点赞 2018-03-22 16:01:30
    1.遍历目录下所有的文件(不包括目录目录里的文件) import java.io.File; public class main { public static void main(String[] args) { String path = "D:\\JAVA"; //要遍历的路径 File file = new ...

    1.遍历本目录下所有的文件(不包括目录的目录里的文件)

    import java.io.File;
    
    public class main {
    
    	public static void main(String[] args) {
    		String path = "D:\\JAVA";		//要遍历的路径
    		File file = new File(path);		//获取其file对象
    		File[] fs = file.listFiles();	//遍历path下的文件和目录,放在File数组中
    		for(File f:fs){					//遍历File[]数组
    			if(!f.isDirectory())		//若非目录(即文件),则打印
    				System.out.println(f);
    		}
    	}
    
    }
    

    运行结果:


    打印出  D:/JAVA下的全部文件(包括D:/JAVA下的目录下的文件)


    1.遍历本目录下所有的文件(包括目录的目录里的文件)

    import java.io.File;
    import java.io.FileFilter;
    
    public class FileText {
    	public static void main(String[] args) {
    		String path = "D:\\JAVA";		//要遍历的路径
    		File file = new File(path);		//获取其file对象
    		func(file);
    	}
    	
    	private static void func(File file){
    		File[] fs = file.listFiles();
    		for(File f:fs){
    			if(f.isDirectory())	//若是目录,则递归打印该目录下的文件
    				func(f);
    			if(f.isFile())		//若是文件,直接打印
    				System.out.println(f);
    		}
    	}
    }
    打印结果:


    打印所有文件

    展开全文
  • 新建一个File对象,其中files为要遍历文件地址。File file = new File(files); 2.申请两个ArryList空间,一个存放目录,一个存放文件List&lt;File&gt; fileList = new ArrayList&lt;File&gt;();/...
  • java遍历目录文件

    千次阅读 2010-04-13 16:38:00
    package com.jp.file;import java.io.File;class OutAllFile{ public void outAllDir(){ outFiles("c:/"); outFiles("d:/"); outFiles("e:/"); } public void outAllFil(){ outDirectory("c:/
  • java遍历一个文件夹里边的所有文件,可以有两种方式: 一、递归遍历,通常也是开发者第一时间能想到的方法,递归遍历的优点是:实现起来相对简单,代码量相对较少,执行效率较高,缺点是:比较吃内存,对硬件...
  • package com.bsoft.hcn.dg.gc.rs.util;import java.io.File;import java.util.ArrayList;import java.util.Iterator;import org.dom4j.Element;import com.bsoft.hcn.dg.gc.rs.util.xmloperate.XmlConfig;/** *
  • java遍历目录

    2019-04-18 08:35:48
    java遍历目录》 一、说明: 用java语言遍历目录 效果图: 二、所用工具:java,MyEclipse 10 三、代码展示: package com.studyten.demo; import java.io.File;//引用 public class RecursionAndFileClass {...
  • 事情是这样的,遍历文件夹里面的所有文件时出现了一个莫名奇妙的.svn拒绝访问。 File dir = new File("D:\\files"); File[] files = dir.listFiles(); 后面通过查看隐藏文件夹的方式,确实看到了.svn文件夹在这个...
  • Java遍历目录

    2019-09-18 19:45:49
    Java遍历目录 工具类: package IO; import java.io.File; import java.io.IOException; //列出File的一些常用的操作(过滤,遍历...) public class FileUtils { /* 列出指定目录(包括子目录)的所有文件 *...
  • java 遍历文件目录

    2013-09-13 10:56:38
    java 遍历文件目录,区分文件夹及问价类型,方便开发人员对文件操作,用于流方式的拷贝文件
  • 递归多线程实现最大速度遍历一个目录启动方法(PS:调用这个方法就可以了)工具类(PS:直接粘贴就可以) 启动方法(PS:调用这个方法就可以了) /** * 获取某个目录下所有文件名,以文件夹分组 * * @param ...
  • 在循环中,如果发现循环变量item是一个当前目录下文件,那么执行else分支,不会调用到递归函数;如果发现循环变量item是一个当前目录下的子目录,那么执行if分支,会调用到递归函数,调用前先添加这个子目录
  • java遍历目录中的文件

    千次阅读 2012-12-28 23:04:34
    1.从一个教程上看到java遍历目录输出目录里面的文件的一个例子,里面用到了递归的算法思想,记得上高中的时候数学上学过这种思想,当时有个汉诺塔的故事。 public static void main(String[] args) { File f=...
  • 本篇文章主要介绍了Java使用File类遍历目录文件实例代码,详细的介绍了File类的使用,有兴趣的可以了解一下。
  • java遍历文件目录

    千次阅读 2020-04-08 01:42:22
    java遍历文件目录 遍历文件目录(直接输出) public static void main(String[] args) { //通过findfile静态方法对文件进行递归遍历 File f = new File("E:\\java_workplace"); findfile(f); } public ...
  • Java遍历目录下的所有文件 递归调用 //递归调用 public static void getFilesList(String path){ List<File> fileList = new ArrayList<>(); File file = new File(path); if( file.exists() ){ ...
  • JAVA遍历目录下的所有文件

    千次阅读 2006-08-08 17:21:00
    今天被一个哥们问住了:当文件中有ASCII编码和ANSI编码混排的时候,如何区分.经过查找资料,结果如下: 中文总体上来说有ANSI编码和UNICODE编码ANSI称之为地区编码,UNICODE是国际编码 ANSI往往是某个国家为自己的语言所...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 125,666
精华内容 50,266
关键字:

java遍历目录下的文件

java 订阅