Java自动读取指定文件夹下所有文件的方法

所属分类: 软件编程 / java 阅读数: 22
收藏 0 赞 0 分享

能够自动读取文件夹下的所有文件在处理或者读取数据的时候作用很大,要不然需要手动修改文件路径,非常麻烦。如果该文件夹下只有几个文件倒是还好,但是一旦文件的数量非常大的时候,将导致工作量非常大,而且还可能漏了某些文件。

接下来为大家讲解一下如何实现这个过程。

java代码:

import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.IOException; 
import java.util.ArrayList; 
 
 
public class readFile { 
  private static ArrayList<String> listname = new ArrayList<String>(); 
  public static void main(String[] args)throws Exception{ 
    readAllFile("data/"); 
    System.out.println(listname.size()); 
  } 
  public static void readAllFile(String filepath) { 
    File file= new File(filepath); 
    if(!file.isDirectory()){ 
      listname.add(file.getName()); 
    }else if(file.isDirectory()){ 
      System.out.println("文件"); 
      String[] filelist=file.list(); 
      for(int i = 0;i<filelist.length;i++){ 
        File readfile = new File(filepath); 
        if (!readfile.isDirectory()) { 
          listname.add(readfile.getName()); 
        } else if (readfile.isDirectory()) { 
          readAllFile(filepath + "\\" + filelist[i]);//递归 
        } 
      } 
    } 
    for(int i = 0;i<listname.size();i++){ 
      System.out.println(listname.get(i)); 
    } 
  } 
} 

涉及到的知识点:

1、File.isDirectory()

这个方法属于java.io包中的内容,用于检查表示此抽象路径名的文件是否是一个目录。以下是java.io.File.isDirectory()方法的声明。

public boolean isDirectory() 

当且仅当表示此抽象路径名的文件是一个目录该方法返回true,否则该方法返回false。

2、如何为list添加元素以及输出

例如:

ArrayList<String> list = new ArrayList<String>(); 
list.add("aaa"); 
list.add("bbb"); 
list.add("ccc"); 
for(int i =0 ; i < list.size(); i ++ ){ 
   system.out.println(list.get(i)); 
} 

3、递归函数

递归函数,通俗的说就是函数本身自己调用自己...
      如:n!=n(n-1)! 
     你定义函数f(n)=nf(n-1)
而f(n-1)又是这个定义的函数。这就是递归 ,递归的目的是简化程序设计,使程序易读。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Java基础之反射原理与用法详解

这篇文章主要介绍了Java基础之反射原理与用法,结合实例形式详细分析了java反射的相关概念、原理、使用方法与操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

java字符串的截取方法substring()代码解析

这篇文章主要介绍了java字符串的截取方法substring()代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Mybatis一对多关联关系映射实现过程解析

这篇文章主要介绍了Mybatis一对多关联关系映射实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Java整数和字符串相互转化实例详解

这篇文章主要介绍了Java整数和字符串相互转化实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring Boot 项目设置网站图标的方法

这篇文章主要介绍了Spring Boot 项目设置网站图标的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java多态机制原理特点详解

在本篇文章里小编给大家分享的是关于java多态机制原理特点详解,有需要的朋友们可以跟着学习下。
收藏 0 赞 0 分享

Jmeter如何添加循环控制器

这篇文章主要介绍了Jmeter如何添加循环控制器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java虚拟机创建失败的原因整理

在本篇文章里小编给大家整理了关于创建java虚拟机失败的解决方法和知识点,需要的朋友们可以参考学习下。
收藏 0 赞 0 分享

Java如何把int类型转换成byte

这篇文章主要介绍了Java如何把int类型转换成byte,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

linux中java获取路径的实例代码

在本篇文章里小编给大家整理的是一篇关于linux中java获取路径的实例代码以及相关知识点,有兴趣的朋友们可以学习参考下。
收藏 0 赞 0 分享
查看更多