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

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

您可能感兴趣的文章:

  • Java如何读取XML文件 具体实现
  • Java读取Excel文件内容的简单实例
  • java实现读取txt文件中的内容
  • Java数据导入功能之读取Excel文件实例
  • java读取csv文件示例分享(java解析csv文件)
  • java中读取配置文件中数据的具体方法
  • java读取文件显示进度条的实现方法
  • Java读取文件的简单实现方法
  • Java实现按行读取大文件
  • Java读取、写入文件如何解决乱码问题
(0)

相关推荐

  • Java读取、写入文件如何解决乱码问题

    读取文件流时,经常会遇到乱码的现象,造成乱码的原因当然不可能是一个,这里主要介绍因为文件编码格式而导致的乱码的问题.首先,明确一点,文本文件与二进制文件的概念与差异. 文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码.ANSI编码等等.二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码.) 因此可以看出文本文件基本上是定长编码的(也有非定长的编码如UTF-8).而二进制文件可看成是变长编码的,因为是值编码嘛,多少

  • java读取csv文件示例分享(java解析csv文件)

    复制代码 代码如下: import java.io.*;import java.util.*;public class HandleCsv {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(   new InputStreamReader(    new FileInputStream("test.csv")   )); String li

  • java中读取配置文件中数据的具体方法

    1.先在项目中创建一个包(如:config),再创建一个配置文件(如:a.properties),添加配置信息如下:比如: 复制代码 代码如下: name=kakaage=28 2.代码: 复制代码 代码如下: import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class PropertyTest { public static void main(String[

  • java读取文件显示进度条的实现方法

    实现这个功能比较简单,用到的类有两个:ProgressMonitorInputStream(主要是整个类) 和 ProgressMonitor ,它们在javax.swing中大体思路,你要首先知道整个文件的大小,和当前已经读取文件的大小,获得整个文件大小的方法 复制代码 代码如下: ProgressMonitorInputStream monitor;/*** @param 表示此进度条要依附在哪个组件上* @param 显示在此进度条上的消息* @param 需要监控的输入流*/monito

  • Java如何读取XML文件 具体实现

    今天的CSDN常见问题来讲解下在Java中如何读取XML文件的内容. 直接上代码吧,注释写的很清楚了! 复制代码 代码如下: import java.io.*;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;im

  • Java读取文件的简单实现方法

    本文实例讲述了Java读取文件的简单实现方法,非常实用.分享给大家供大家参考之用.具体方法如下: 这是一个简单的读取文件的代码,并试着读取一个log文件,再输出. 主要代码如下: import java.io.*; public class FileToString { public static String readFile(String fileName) { String output = ""; File file = new File(fileName); if(file.

  • Java数据导入功能之读取Excel文件实例

    在编程中经常需要使用到表格(报表)的处理主要以Excel表格为主.下面给出用java读取excel表格方法: 1.添加jar文件 java导入导出Excel文件要引入jxl.jar包,最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件.下载地址:http://www.andykhan.com/jexcelapi/ 2.jxl对Excel表格的认识 (1)每个单元格的位置认为是由一个二维坐标(i,j)给定,其中i表示列,j表示

  • java实现读取txt文件中的内容

    我们先来看个例子 import java.io.*; /** * Created by liguoqing on 2016/3/28. */ public class ReadTxtFile { public static void readTxt(String filePath) { try { File file = new File(filePath); if(file.isFile() && file.exists()) { InputStreamReader isr = new

  • Java实现按行读取大文件

    Java实现按行读取大文件 String file = "F:" + File.separator + "a.txt"; FileInputStream fis = new FileInputStream(file); RandomAccessFile raf = new RandomAccessFile(new File(file),"r"); String s ; while((s =raf.readLine())!=null){ Syste

  • Java读取Excel文件内容的简单实例

    借助于apathe的poi.jar,由于上传文件不支持.jar所以请下载后将文件改为.jar,在应用程序中添加poi.jar包,并将需要读取的excel文件放入根目录即可 本例使用java来读取excel的内容并展出出结果,代码如下: 复制代码 代码如下: import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundExceptio

随机推荐