目標(biāo):
政和網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,政和網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為政和成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的政和做網(wǎng)站的公司定做!
找出某路徑下的所有PDF文件,當(dāng)然,也適用于找出所有文件、所有txt文件等等。
輸入:
任意一個路徑(可以是文件或文件夾)。
輸出:
該路徑下所有PDF文件的路徑。
思路:
根據(jù)路徑字符串是否以“.pdf”結(jié)尾來判斷是否是PDF文件。
首先判斷輸入路徑是文件還是文件夾,是文件則直接判斷是否是PDF文件,是文件夾,則獲取其下所有的文件(夾)對象集合,存到LinkedList對象中,然后遍歷LinkedList,每次獲取并移除第一個對象進(jìn)行判斷,對象是文件則直接判斷是否是PDF文件,對象是文件夾則獲取并遍歷其下所有文件對象。
注意:
是文件則直接判斷是否是PDF文件。是文件夾,則將該對象加入到LinkedList中。
代碼示例如下:
package load_select; import java.io.File; import java.util.Arrays; import java.util.LinkedList; public class FindAllFiles { public static void folderMethod1(String path) { File file = new File(path); LinkedListlist = new LinkedList<>(); //保存所有pdf文件的對象 LinkedList pdfList = new LinkedList (); //該路徑對應(yīng)的文件或文件夾是否存在 if (file.exists()) { //如果該路徑為---文件或空文件夾 if (null == file.listFiles()) { // System.out.println(file.getAbsolutePath()); if(file.getAbsolutePath().endsWith(".pdf")) pdfList.add(file); } //如果該路徑為非空文件夾 else { //將該路徑下的所有文件(文件或文件夾)對象加入隊(duì)列 list.addAll(Arrays.asList(file.listFiles())); //遍歷該隊(duì)列 while (!list.isEmpty()) { File firstF = list.removeFirst(); //這里不論是文件夾還是文件,只需判斷是否以“.pdf”結(jié)尾 if(firstF.getAbsolutePath().endsWith(".pdf")) pdfList.add(firstF); File[] files = firstF.listFiles(); if (null == files) { //System.out.println(firstF.getAbsolutePath()); continue; } for (File f : files) { if (f.isDirectory()) { //System.out.println("文件夾:" + f.getAbsolutePath()); list.add(f); } else { //System.out.println("文件:" + f.getAbsolutePath()); if(f.getAbsolutePath().endsWith(".pdf")) pdfList.add(f); } } } } } else { System.out.println("文件不存在!"); } //輸出所有pdf文件的路徑 for(File f : pdfList) System.out.println(f.getAbsolutePath()); } public static void main(String[] args) { String path = "D:\\File\\pdf表格識別"; //改為自己的路徑 folderMethod1(path2); } }
部分結(jié)果如圖:
以上就是java如何遍歷某個路徑下的所有PDF文件的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!