java读取文件夹下所有文件(包括子文件夹)的文件名

简介: 在编程的过程中,经常会用到对文件的读写操作等。比如,找出某一个文件夹下的所有文件名等。 下面的程序给出了,获取某一给定文件夹下所有文件的绝对路径的程序。可以作为某一个模块,在需要的时候直接使用。 package src; import java.

在编程的过程中,经常会用到对文件的读写操作等。比如,找出某一个文件夹下的所有文件名等。

下面的程序给出了,获取某一给定文件夹下所有文件的绝对路径的程序。可以作为某一个模块,在需要的时候直接使用。

package src;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Vector;

public class FileList {
    private String dir_name=null;
    private String list_name=null;
    private BufferedWriter out = null;
    Vector<String> ver=null;
    
    public FileList(String dir_name,String list_name) throws IOException{
        this.dir_name=dir_name;    //文件夹地址
        this.list_name=list_name;    //保存文件列表的文件地址
        ver=new Vector<String>();    //用做堆栈
    }

    public void getList() throws Exception{
        out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(list_name, true)));    //以追加的方式写入到指定的文件
        ver.add(dir_name);
        while(ver.size()>0){
            File[] files = new File(ver.get(0).toString()).listFiles();    //获取该文件夹下所有的文件(夹)名
            ver.remove(0);
            
            int len=files.length;
            for(int i=0;i<len;i++){
                String tmp=files[i].getAbsolutePath();
                if(files[i].isDirectory())    //如果是目录,则加入队列。以便进行后续处理
                    ver.add(tmp);
                else                    
                    out.write(tmp+"\r\n");        //如果是文件,则直接输出文件名到指定的文件。
            }
        }
        out.close();
    }
}

 

相关文章
|
3天前
|
Java 开发者
Java一分钟之-Java IO流:文件读写基础
【5月更文挑战第10天】本文介绍了Java IO流在文件读写中的应用,包括`FileInputStream`和`FileOutputStream`用于字节流操作,`BufferedReader`和`PrintWriter`用于字符流。通过代码示例展示了如何读取和写入文件,强调了常见问题如未关闭流、文件路径、编码、权限和异常处理,并提供了追加写入与读取的示例。理解这些基础知识和注意事项能帮助开发者编写更可靠的程序。
12 0
|
4天前
|
Java
JDK环境下利用记事本对java文件进行运行编译
JDK环境下利用记事本对java文件进行运行编译
13 0
|
6天前
|
Arthas 安全 Java
java服务报错 FileNotFoundException:打开的文件过多
java服务报错 FileNotFoundException:打开的文件过多
15 0
|
9天前
|
Oracle Java 关系型数据库
windows 下 win11 JDK17安装与环境变量的配置(配置简单详细,包含IJ中java文件如何使用命令运行)
本文介绍了Windows 11中安装JDK 17的步骤,包括从官方网站下载JDK、配置环境变量以及验证安装是否成功。首先,下载JDK 17的安装文件,如果没有Oracle账户,可以直接解压缩文件到指定目录。接着,配置系统环境变量,新建`JAVA_HOME`变量指向JDK安装路径,并在`Path`变量中添加。然后,通过命令行(cmd)验证安装,分别输入`java -version`和`javac -version`检查版本信息。最后,作者分享了如何在任意位置运行Java代码,包括在IntelliJ IDEA(IJ)中创建的Java文件,只需去掉包声明,就可以通过命令行直接运行。
|
11天前
|
存储 监控 Java
如何在Java中实现等待文件修改后再读取数据的功能?
如何在Java中实现等待文件修改后再读取数据的功能?
18 0
|
11天前
|
存储 Java 数据格式
Java实战:轻松掌握文件重命名与路径提取技巧
Java实战:轻松掌握文件重命名与路径提取技巧
19 0
|
11天前
|
Java
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
48 0
|
Java 大数据 Apache
|
Java Windows 移动开发