生活随笔
收集整理的這篇文章主要介紹了
Java实现指定目录下的文件查找
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Java實(shí)現(xiàn)指定目錄下的文件查找
入門Java實(shí)現(xiàn)文件的查找功能較為簡單,主要有以下兩種:
1.給出文件名,查找目錄及其子目錄中是否存在
2.給出后綴名,查找目錄及其子目錄中相關(guān)的文件
題型一:
題目:在指定目錄下查找一個(gè)文件,如果目錄或子目錄下有查找的文件,返回文件所在的目錄,否則輸出 “當(dāng)前目錄下沒有此文件”。
package hello;
import java.io.File;
import java.util.*;
public class 第七周第二題 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);System.out.println("請(qǐng)輸入要查找的文件名:");String filename=in.nextLine(); //讀取要查找的文件名稱filename;File dir=new File("D:\\desktop\\實(shí)驗(yàn)七 數(shù)據(jù)"); //確定要查找的目錄dir;boolean flag=false; //flag來確定是否查到文件;function(filename,dir,flag); //function函數(shù)遞歸實(shí)現(xiàn);}static void function(String filename,File dir,boolean flag){File[]files=dir.listFiles();for(File file:files){if(file.isDirectory()) //file是目錄時(shí),則重新調(diào)用function函數(shù);{function(filename,file.getAbsoluteFile(),flag);}if(file.isFile() && filename.equals(file.getName())) //file時(shí)文件且文件名相同時(shí),輸出;{ flag=true;System.out.println("要查找的文件路徑為:"+file.getAbsolutePath());break;}} if(flag==true) //判斷有沒有找到過文件;return; else{System.out.print(dir.getName()+"文件夾下沒有找到此文件");return;}}}
下面是運(yùn)行結(jié)果:
題型二:
*判斷指定目錄及其子目錄下是否有后綴名為.java和.jpg的文件,如果有,就輸出該文件名稱和所在目錄路徑,如果沒有,輸出“*目錄下沒有.java和.jpg文件”。
package hello;
import java.util.*;
import java.io.*;
public class 第八周第一題 {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("指定的目錄為:D:\\desktop");String Filename="D:\\desktop"; //Filename為指定地址;File file=new File(Filename);boolean flag=false; //flag判斷有沒有相關(guān)文件;function(Filename,file,flag);}static void function(String Filename,File file,boolean flag){File[]files=file.listFiles();for(File m:files){if(m.isDirectory()) //m為目錄時(shí),調(diào)用function函數(shù)(更新了絕對(duì)路徑);{function(m.getAbsolutePath(),m.getAbsoluteFile(),flag);}if(m.isFile() ) //m為文件時(shí){String name=m.getName();String houzhui=name.lastIndexOf(".")==-1 ? "" : name.substring(name.lastIndexOf(".")+1);//讀取其后綴(java還是jpg)if("java".equals(houzhui)||"jpg".equals(houzhui))//判斷后綴是不是java或jpg;{System.out.println("文件"+name+"所在的目錄為:"+m.getAbsolutePath());//輸出文件的絕對(duì)路徑;flag=true;}}}if(flag==true) return;elseSystem.out.println(Filename+"下沒有.java和.jpg文件");}
}
下面是運(yùn)行的結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的Java实现指定目录下的文件查找的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。