Java實(shí)現(xiàn)讀取文件夾下(包括子目錄)所有文件的文件名
在編程的過程中,經(jīng)常會(huì)用到對(duì)文件的讀寫操作等。比如,找出某一個(gè)文件夾下的所有文件名等。
下面的程序給出了,獲取某一給定文件夾下所有文件的絕對(duì)路徑的程序。可以作為某一個(gè)模塊,在需要的時(shí)候直接使用。
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()) //如果是目錄,則加入隊(duì)列。以便進(jìn)行后續(xù)處理
ver.add(tmp);
else
out.write(tmp+"\r\n"); //如果是文件,則直接輸出文件名到指定的文件。
}
}
out.close();
}
}
相關(guān)文章
JavaWeb中Tomcat底層機(jī)制和Servlet運(yùn)行原理詳解
這篇文章主要介紹了JavaWeb中Tomcat底層機(jī)制和Servlet運(yùn)行原理詳解,Tomcat是一個(gè)開源的Java Web服務(wù)器,它是基于Java Servlet和JavaServer Pages(JSP)技術(shù)的,下面是關(guān)于Tomcat底層機(jī)制和Servlet運(yùn)行原理的簡(jiǎn)要說明,需要的朋友可以參考下2023-10-10
Mybatis-plus實(shí)現(xiàn)主鍵自增和自動(dòng)注入時(shí)間的示例代碼
這篇文章主要介紹了Mybatis-plus實(shí)現(xiàn)主鍵自增和自動(dòng)注入時(shí)間的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Java編寫通用的導(dǎo)出任何對(duì)象列表數(shù)據(jù)到excel的工具類
在工作中經(jīng)常會(huì)遇到列表數(shù)據(jù)的導(dǎo)出,每次需要的時(shí)候都要去開發(fā)一次,且數(shù)據(jù)不斷在變化,所以本文將利用Java編寫一個(gè)工具類可以導(dǎo)出任何對(duì)象列表數(shù)據(jù)到excel,希望對(duì)大家有所幫助2024-12-12
idea編譯報(bào)錯(cuò)-代碼沒問題IDEA編譯不通過的處理方案
這篇文章主要介紹了idea編譯報(bào)錯(cuò)-代碼沒問題IDEA編譯不通過的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
聊聊SpringBoot使用Nacos進(jìn)行服務(wù)注冊(cè)發(fā)現(xiàn)與配置管理問題
Nacos支持基于DNS和基于RPC的服務(wù)發(fā)現(xiàn)(可以作為springcloud的注冊(cè)中心)、動(dòng)態(tài)配置服務(wù)(可以做配置中心)、動(dòng)態(tài)?DNS?服務(wù)。本文重點(diǎn)給大家介紹SpringBoot使用Nacos進(jìn)行服務(wù)注冊(cè)發(fā)現(xiàn)與配置管理,感興趣的朋友一起看看吧2022-01-01
Java線程創(chuàng)建靜態(tài)代理模式代碼實(shí)例
這篇文章主要介紹了Java線程創(chuàng)建靜態(tài)代理模式代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
基于Java實(shí)現(xiàn)的Dijkstra算法示例
這篇文章主要介紹了基于Java實(shí)現(xiàn)的Dijkstra算法示例,一個(gè)比較典型的算法示例,需要的朋友可以參考下2014-07-07

