溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java遍歷路徑下的所有PDF文件的方法

發(fā)布時間:2020-06-21 21:15:22 來源:億速云 閱讀:191 作者:鴿子 欄目:編程語言

目標:

找出某路徑下的所有PDF文件,當然,也適用于找出所有文件、所有txt文件等等。

輸入:

任意一個路徑(可以是文件或文件夾)。

輸出:

該路徑下所有PDF文件的路徑。

思路:

根據(jù)路徑字符串是否以“.pdf”結尾來判斷是否是PDF文件。

首先判斷輸入路徑是文件還是文件夾,是文件則直接判斷是否是PDF文件,是文件夾,則獲取其下所有的文件(夾)對象集合,存到LinkedList對象中,然后遍歷LinkedList,每次獲取并移除第一個對象進行判斷,對象是文件則直接判斷是否是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);
        LinkedList<File> list = new LinkedList<>();
        
        //保存所有pdf文件的對象
        LinkedList<File> pdfList = new LinkedList<File>();
 
        //該路徑對應的文件或文件夾是否存在
        if (file.exists()) {
        	
        	//如果該路徑為---文件或空文件夾
            if (null == file.listFiles()) {
//            	System.out.println(file.getAbsolutePath());
            	if(file.getAbsolutePath().endsWith(".pdf")) 
            		pdfList.add(file);
            }
            
            //如果該路徑為非空文件夾
            else {
            	//將該路徑下的所有文件(文件或文件夾)對象加入隊列
                list.addAll(Arrays.asList(file.listFiles()));
                //遍歷該隊列     
                while (!list.isEmpty()) {
              	
                	File firstF = list.removeFirst();
                	
                	//這里不論是文件夾還是文件,只需判斷是否以“.pdf”結尾
            		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);
	}
}

部分結果如圖:

java遍歷路徑下的所有PDF文件的方法

以上就是java如何遍歷某個路徑下的所有PDF文件的詳細內(nèi)容,更多請關注億速云其它相關文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI