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();
    }
}

 

时间: 2024-09-27 19:58:22

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

vbs 获取当前目录文件数量的代码(不包括子文件夹中的)_vbs

复制代码 代码如下: i=0set fso=CreateObject("Scripting.FileSystemObject")set fs=fso.getfolder(".").filesfor each f in fsi=i+1nextmsgbox "文件总数:"&i

一个拷贝整个文件夹(包括子文件夹)的方法(原创)

原创 需要引用命名空间:using System.IO; /// <summary>  /// 拷贝文件夹(包括子文件夹)到指定文件夹下,源文件夹和目标文件夹均需绝对路径. 格式: CopyFolder(源文件夹,目标文件夹);  /// </summary>  /// <param name="strFromPath"></param>  /// <param name="strToPath"></

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

本文:http://www.cnblogs.com/xudong-bupt/p/3504442.html Linux C  下面读取文件夹要用到结构体struct dirent,在头#include <dirent.h>中,如下: #include <dirent.h> struct dirent { long d_ino; /* inode number 索引节点号 */ off_t d_off; /* offset to this dirent 在目录文件中的偏移 */ uns

linux-javac为什么不能编译子文件夹的java文件

问题描述 javac为什么不能编译子文件夹的java文件 我在linux终端下编译:javac *.java 网上说这样做不是能编译当前文件夹下面所有的,包括子文件夹里面的java文件吗? 但是为什么我这样做了之后只编译了当前文件夹下面的java文件,子文件夹里面的java文件没有被编译啊 解决方案 因为java文件只会默认寻找当前包下面的java文件!而不会去寻找其子文件夹下的java文件!!如果含有子包的话需要import导入就可以了!!! 解决方案二: 可以试试下面语法: javac **

Linux下统计当前文件夹下的文件个数、目录个数_linux shell

1) 统计当前文件夹下文件的个数 复制代码 代码如下: ls -l |grep "^-"|wc -l 2) 统计当前文件夹下目录的个数 复制代码 代码如下: ls -l |grep "^d"|wc -l  3) 统计当前文件夹下文件的个数,包括子文件夹里的 复制代码 代码如下: ls -lR|grep "^-"|wc -l  4) 统计文件夹下目录的个数,包括子文件夹里的 复制代码 代码如下: ls -lR|grep "^d"

Beyond Compare自动展开子文件夹方法

  Beyond Compare自动展开子文件夹方法 打开Beyond Compare软件,选择文件夹比较会话,打开会话操作界面,单击"浏览文件夹"按钮,选择需要比较的文件夹,如下图所示,比较会话视图窗格内的文件夹有序排列,但并没有自动展开子文件夹和文件,应该如何进行设置呢? Beyond Compare 步骤一:单击工具栏"会话"按钮,在展开的菜单中选择"会话设置"选项卡,打开文件夹比较-会话设置窗口,并切换到处理选项卡页面. 步骤二:在文件夹

java实现读取、删除文件夹下的文件

  本文给大家分享的是java实现读取.删除文件夹下的文件,其中File.delete()用于删除"某个文件或者空目录"!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除,有需要的小伙伴可以参考下. java实现读取.删除文件夹下的文件 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

java实现读取、删除文件夹下的文件_java

java实现读取.删除文件夹下的文件 package test.com; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; public class ReadFile { public ReadFile() { } /** * 读取某个文件夹下的所有文件 */ public static boolean readfile(String filepath) throws Fi

读取android根目录下的文件或文件夹实例_Android

最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还要搞,自己的东西还在文档阶段,真的是让人想死啊!! 近半个月来,C#这方面的编码比较多,android和java这里完全搁置了,于是抽空写个小例子. 这个例子非常小,就是一个读取android根目录下的文件夹或文件,当做热一下身. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan