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

 更新时间:2018年02月07日 09:59:46   作者:Wendy-lxq  
这篇文章主要为大家详细介绍了Java自动读取指定文件夹下所有文件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

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

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)又是这个定义的函数。这就是递归 ,递归的目的是简化程序设计,使程序易读。

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

相关文章

  • JavaWeb中Tomcat底层机制和Servlet运行原理详解

    JavaWeb中Tomcat底层机制和Servlet运行原理详解

    这篇文章主要介绍了JavaWeb中Tomcat底层机制和Servlet运行原理详解,Tomcat是一个开源的Java Web服务器,它是基于Java Servlet和JavaServer Pages(JSP)技术的,下面是关于Tomcat底层机制和Servlet运行原理的简要说明,需要的朋友可以参考下
    2023-10-10
  • Java Socket编程(三) 服务器Sockets

    Java Socket编程(三) 服务器Sockets

    Java Socket编程(三) 服务器Sockets...
    2006-12-12
  • Windows下Java调用可执行文件代码实例

    Windows下Java调用可执行文件代码实例

    这篇文章主要介绍了Windows下Java调用可执行文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • JAVA实现往字符串中某位置加入一个字符串

    JAVA实现往字符串中某位置加入一个字符串

    这篇文章主要介绍了JAVA实现往字符串中某位置加入一个字符串,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • mybatis-plus中更新null值的问题解决

    mybatis-plus中更新null值的问题解决

    本文主要介绍 mybatis-plus 中常使用的 update 相关方法的区别,以及更新 null 的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-04-04
  • Java中通过反射实现代理Proxy代码实例

    Java中通过反射实现代理Proxy代码实例

    这篇文章主要介绍了Java中通过反射实现代理Proxy代码实例,java实现代理可以通过java.lang.reflect.Proxy接口结合java.lang.reflect.InvocationHandler来实现,需要的朋友可以参考下
    2023-08-08
  • GC调优实战之过早提升Premature Promotion

    GC调优实战之过早提升Premature Promotion

    这篇文章主要为大家介绍了GC调优实战之过早提升Premature Promotion
    2022-01-01
  • Java深入浅出理解快速排序以及优化方式

    Java深入浅出理解快速排序以及优化方式

    快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影
    2021-11-11
  • springboot应用访问zookeeper的流程

    springboot应用访问zookeeper的流程

    这篇文章主要介绍了springboot应用访问zookeeper的流程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • java获取日期的方法

    java获取日期的方法

    这篇文章介绍了java获取日期的方法,有需要的朋友可以参考一下
    2013-10-10

最新评论