Java实现读取文件夹下(包括子目录)所有文件的文件名
程序员文章站
2024-03-05 13:21:37
在编程的过程中,经常会用到对文件的读写操作等。比如,找出某一个文件夹下的所有文件名等。
下面的程序给出了,获取某一给定文件夹下所有文件的绝对路径的程序。可以作为某一个模块...
在编程的过程中,经常会用到对文件的读写操作等。比如,找出某一个文件夹下的所有文件名等。
下面的程序给出了,获取某一给定文件夹下所有文件的绝对路径的程序。可以作为某一个模块,在需要的时候直接使用。
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(); } }