利用java.io.File類實現遍歷本地磁盤上指定盤符或文件夾的所有的文件


 2016-11-18

 這是本人的第一篇隨筆博客,糾結了半天還是選擇自己學的時候比較用心的一些知識點上。利用java.io.File類指定本地的文件夾進行遍歷所有的文件。

package org.lxm.filedemo;

import java.io.File;
import java.util.Scanner;

/*
 * 本程序是將某個盤的所有文件夾及其文件全部調出來的操作
 */

public class FileAllDemo {


    public static void main(String[] args) {
               // 通過Scanner進行交互
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入要打印出的文件夾:(windows下分隔符請使用“\\”)");
               // 接收輸入的內容
        String pan = sc.next();
               // 實例化File類
        File file = new File(pan);
              // 調用lists方法
        lists(file);
    }

    public static void lists(File file) {
        if (file.isDirectory()) { // 判斷是否為文件夾 
            File[] list = file.listFiles(); // 使用數組接收帶有完整路徑的文件夾
            if (list != null) {
                               // 循環遍歷文件
                for (int i = 0; i < list.length; i++) {
                    lists(list[i]);
                }
            }
               // 輸出文件名稱
        System.out.println(file);
        }
    }

}

以上就是實現的代碼。

  File 類的實例是不可變的;也就是說,一旦創建,File 對象表示的抽象路徑名將永不改變。其中路徑中由於windows和linu系統使用的符號不同,所以通常使用File.separator(此處為常量)進行分隔,用法示例如 File file = new File("E:"+File.separator+"1.jpg");

  經常用到的方法有createNewFile()方法,表示創建一個新的文件,創建時必須指定一個路徑,用法示例如以上的file不存在,則可使用 file.createNewFile()進行創建,此時會拋出異常,需要try{//創建代碼}catch(IOException e){}或throws進行處理,這里不做重點;

  mkdir()方法,表示創建文件夾命令,和上面一樣,必須指定一個路徑,如 File file1 = new File("E:"+File.separator+"java");file1.mkdir();則在指定路徑上將創建一個java文件夾;

  delete()方法,表示刪除指定路徑的文件,用法如若刪除以上創建的文件則file.delete();就可將文件刪除;

  exists()方法,表示測試指定路徑的文件是否存在,返回的是一個布爾值,true或false,用法如以上將file刪除之后測試file.exists()就會返回false,常用於if語句中;

  isFile()方法,表示測試指定路徑的文件是否為一個文件,返回true或false,isDirectory()方法,表示指定的路徑是否為一個文件夾,用法略;

  File[] listFiles()方法,利用數組進行指定文件夾的遍歷,用法為先定義一個File filepath = new File("E:"+File.separator+"文件夾名稱");File[] list = filepath.listFiles();再利用加強的for循環將文件夾名稱下面的文件及文件夾遍歷出來,如for(File lists : list){System.out.println(lists);};

  String[] list()方法,和上面listFiles()方法類似,都是將指定文件夾下面的文件及文件夾遍歷出來,用法相同,不同之處是使用list()方法遍歷出來的內容是 根目錄:\ 文件名,如 E:\文件名,而使用listFiles()方法遍歷出來的內容是 根目錄:\ 文件夾名\文件名,如 E:\文件夾名稱\文件名。這是比較直觀的區別;

  以上就是常用的方法,具體請參考API進行分析研究。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM