溫馨提示×

溫馨提示×

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

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

在Java如何使用File類實現(xiàn)遍歷文件

發(fā)布時間:2020-11-17 15:27:33 來源:億速云 閱讀:190 作者:Leah 欄目:編程語言

本篇文章為大家展示了在Java如何使用File類實現(xiàn)遍歷文件,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1. 構(gòu)造函數(shù)

File(String args0)//使用一個表示文件或目錄的路徑的字符串創(chuàng)建一個File對象
File(URL args0)//使用一個URL對象創(chuàng)建File對象
File(File args0, String args1)//使用一個File對象(一般是目錄)和一個文件名字符串創(chuàng)建File對象
File(String args0, String args1)//使用一個目錄字符串和一個文件名字符串創(chuàng)建對象

使用File類需要注意兩點:

第一,F(xiàn)ile類用于表示文件或目錄的名稱、大小等信息,不能用于文件內(nèi)容的訪問。

第二,傳參時路徑中的斜杠需換成反斜杠或雙斜杠。

2. 常用方法

exists()//判斷當前文件或目錄是否存在

mkdir()//創(chuàng)建單級目錄,不能創(chuàng)建多級目錄
mkdirs()//創(chuàng)建多級目錄
createNewFile()//按照當前路徑創(chuàng)建文件,使用該方法需要拋出異常,同時路徑不存在時會產(chǎn)生異常

delete()//刪除當前目錄或文件

isDirectory()//判斷當前File對象是否目錄
isFile()//判斷當前File對象是否一個文件

getAbsolutePath()//返回當前目錄或文件的絕對路徑
getName()//返回當前目錄或文件的名稱
getParent()//返回當前目錄或文件的父級路徑

list()//返回一個String數(shù)組,為當前目錄下的子目錄和文件,不包括子目錄下的文件或目錄
listFiles()//返回一個File數(shù)組,為當前目錄下的子目錄和文件,不包括子目錄下的文件或目錄

3. 范例

遍歷目錄,將所有層級的所有目錄打印。

import java.io.File;
import java.io.IOException;

public class FileTest {

  public static void main(String[] args) {
    File dir = new File("F:/documents/example");
    listDirectory(dir);
  }
  
  public static void listDirectory(File dir) {
    if (!dir.exists()) {
      throw new IllegalArgumentException("目錄" + dir + "不存在");
    }
    if (!dir.isDirectory()) {
      throw new IllegalArgumentException(dir + "不是目錄");
    }
    File[] files = dir.listFiles();
    if (files != null && files.length > 0) {
      for (File file : files) {
        if (file.isDirectory()) {
          listDirectory(file);
        } else {
          System.out.println(file);
        }
      }
    }
  }

}

上述內(nèi)容就是在Java如何使用File類實現(xiàn)遍歷文件,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI