如下代碼使用遞歸演算法遍歷某個目錄下的所有文件,並輸出文件名
importjava.io.File;
importjava.util.ArrayList;
publicclassFileTest{
privatestaticArrayList<String>filelist=newArrayList<String>();
publicstaticvoidmain(String[]args)throwsException
{
StringfilePath="E://Struts2";
getFiles(filePath);
}
/*
*通過遞歸得到某一路徑下所有的目錄及其文件
*/
staticvoidgetFiles(StringfilePath)
{
Fileroot=newFile(filePath);
File[]files=root.listFiles();
for(Filefile:files)
{
if(file.isDirectory())
{
/*
*遞歸調用
*/
getFiles(file.getAbsolutePath());
filelist.add(file.getAbsolutePath());
System.out.println("顯示"+filePath+"下所有子目錄及其文件"+file.getAbsolutePath());
}else{
System.out.println("顯示"+filePath+"下所有子目錄"+file.getAbsolutePath());
}
}
}
}
② Java:找出指定文件夾里的文件名!
importjava.io.File;
/*
*獲取功能:
*publicString[]list():獲取指定目錄下的所有文件或者文件夾的名稱數組
*publicFile[]listFiles():獲取指定目錄下的所有文件或者文件夾的File數組
*/
publicclassFileDemo{
publicstaticvoidmain(String[]args){
//指定一個目錄
Filefile=newFile("e:\");
//publicString[]list():獲取指定目錄下的所有文件或者文件夾的名稱數組
String[]strArray=file.list();
for(Strings:strArray){
System.out.println(s);
}
System.out.println("------------");
//publicFile[]listFiles():獲取指定目錄下的所有文件或者文件夾的File數組
File[]fileArray=file.listFiles();
for(Filef:fileArray){
System.out.println(f.getName());
}
}
}
③ java 根據文件獲取文件名及路徑的方法
通過File類獲取文件,然後通過以下兩種方法獲取絕對路徑和名稱。返回類型為String
獲取絕對路徑:file.getAbsolutePath()
獲取名稱: file.getName()
④ Java如何獲取指定文件夾內的全部文件名稱,並將文件名稱輸出到一字元數組內
importjava.io.File;
importjava.io.FilenameFilter;
publicclassTest{
publicstaticvoidmain(String[]args){
//C:盤下的所有文件,包括文件夾
String[]filenames=newFile("C:/").list();
//C:盤下後綴名為txt的文件
String[]filenames2=newFile("C:/").list(newFilenameFilter(){
publicbooleanaccept(Filedir,Stringname){
returnname.endsWith(".txt");
}
});
//C:盤下所有目錄
String[]filenames3=newFile("C:/").list(newFilenameFilter(){
publicbooleanaccept(Filedir,Stringname){
returnnewFile(dir,name).isDirectory();
}
});
}
}
⑤ java獲取當前文件夾名稱
如果知道該來文件的路徑自filePath
可以用 String parentFilePath = filePath.subString(0,filePath.lastIndexOf("\\")) 獲取當前文件夾所在的路徑
然後 fileFolderName = parentFilePath.subString(parentFilePath.lastIndexOf("\\"),parentFilePath.length()); 獲取文件夾的名稱。
⑥ JAVA怎麼獲得指定文件夾裡面的文件名和文件大小,並且將結果導出成為一個TXT文件
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.InputStream;
importjava.io.OutputStream;
importjava.io.OutputStreamWriter;
importjava.util.ArrayList;
importjava.util.List;
publicclass${
publicstaticvoidmain(String[]args){
List<Bean>data=newArrayList<Bean>();
getFile(data,"D:/");
System.out.println(data);
save(data);
}
privatestaticvoidsave(List<Bean>data){
OutputStreamos=null;
OutputStreamWriterosw=null;
try{
os=newFileOutputStream(newFile("C:/a.csv"));
osw=newOutputStreamWriter(os,"GBK");
for(Beanbean:data){
osw.write(bean+" ");
}
osw.flush();
}catch(Exceptione){
e.printStackTrace();
}finally{
if(os!=null){
try{
os.close();
}catch(Exceptione){
e.printStackTrace();
}
}
if(osw!=null){
try{
osw.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
}
privatestaticvoidgetFile(List<Bean>data,Stringpath){
Filef=newFile(path);
File[]fs=f.listFiles();
if(fs==null){
return;
}
for(Filefile:fs){
if(file.isFile()){
data.add(newBean(file.getParentFile().getAbsolutePath(),file.getName(),getFileSize(file)));
}else{
getFile(data,file.getAbsolutePath());
}
}
}
privatestaticintgetFileSize(Filef){
InputStreamfis=null;
try{
fis=newFileInputStream(f);
returnfis.available();
}catch(Exceptione){
e.printStackTrace();
}finally{
if(fis!=null){
try{
fis.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
return0;
}
}
classBean{
privateStringfilePath;
privateStringfileName;
privateintsize;
publicBean(StringfilePath,StringfileName,intsize){
this.filePath=filePath;
this.fileName=fileName;
this.size=size;
}
publicStringgetFilePath(){
returnfilePath;
}
publicvoidsetFilePath(StringfilePath){
this.filePath=filePath;
}
publicStringgetFileName(){
returnfileName;
}
publicvoidsetFileName(StringfileName){
this.fileName=fileName;
}
publicintgetSize(){
returnsize;
}
publicvoidsetSize(intsize){
this.size=size;
}
publicStringtoString(){
returnfilePath+","+fileName+","+size+"K";
}
}
⑦ java獲取當前文件夾名字
定義對象File,傳入路徑參數,File提供方法getName直接獲得路徑的名稱,即你想要的部分回
File file = new File("xxxx");
System.out.println(file.getName());
-----------------------------------------------
String getName()
返回由此抽象路答徑名表示的文件或目錄的名稱。
參見參考資料
⑧ java如何獲取文件信息
File 類是對文件和文件夾的抽象,包含了對文件和文件夾的多種屬性和操作方法。File類的常用方法如下表:
返回
方法
說明
String getName 獲取文件名稱
String getParent 獲取文件的父路徑字元串
String getPath 獲取文件的相對路徑字元串
String getAbsolutePath 獲取文件的絕對路徑字元串
boolean exists 判斷文件或者文件夾是否存在
boolean isFile 判斷是不是文件類型
boolean isDirectory 判斷是不是文件夾類型
boolean delete 刪除文件或文件夾,如果刪除成功返回結果為true
boolean mkdir 創建文件夾,創建成功返回true
boolean setReadOnly 設置文件或文件夾的只讀屬性
long length 獲取文件的長度
long lastModified 獲取文件的最後修改時間
String[ ] list 獲取文件夾中的文件和子文件夾的名稱,並存放到字元串數組中
⑨ java怎麼獲取一個目錄下的所有文件名
獲取一個目錄下的所有文件和目錄方法:
importjava.io.File;
publicclassFileTest{
publicstaticvoidmain(String[]args){
/**
*將目標目錄封裝成File對象。
*/
Filedir=newFile("/Users/zym/Desktop/Mac應用程序");
/**
*獲取目錄下的所有文件和文件夾
*/
String[]names=dir.list();
for(Stringname:names){
System.out.println(name);
}
}
}
通過文件過濾器獲取某個目錄下的文件,例如所有的 .txt、.doc文件。
過濾器:
importjava.io.File;
importjava.io.FilenameFilter;
{
@Override
publicbooleanaccept(Filedir,Stringname){
returnname.endsWith(".doc");
}
}
獲取某個目錄下的按照過濾器規則的所有文件:
importjava.io.File;
publicclassFileTest{
publicstaticvoidmain(String[]args){
/**
*將目標目錄封裝成File對象。
*/
Filedir=newFile("/Users/zym/Desktop/Mac應用程序");
/**
*通過過濾器獲取目錄下的所有的.doc文件
*/
String[]names=dir.list(newFilterByDoc());
for(Stringname:names){
System.out.println(name);
}
}
}
希望能對您有所幫助!