Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java API 和框架

Java 類引用

Java 有用資源

Java - 目錄操作



Java 中的目錄

目錄是一個可以包含其他檔案和目錄列表的檔案。您可以使用File物件建立目錄,列出目錄中可用的檔案。有關完整詳細資訊,請檢視可以對 File 物件呼叫的所有方法列表以及與目錄相關的哪些方法。

建立目錄

有兩種有用的File實用程式方法,可用於建立目錄:

  • mkdir()方法建立一個目錄,成功時返回 true,失敗時返回 false。失敗表示 File 物件中指定的路徑已存在,或者由於整個路徑尚不存在而無法建立目錄。

  • mkdirs()方法建立目錄及其所有父目錄。

Java 中建立目錄的示例

以下示例建立“/tmp/user/java/bin”目錄:

package com.tutorialspoint;

import java.io.File;

public class DirectoryTest {
   public static void main(String args[]) {
      String dirname = "/tmp/user/java/bin";
      File directory = new File(dirname);

      // Create directory now.
      directory.mkdirs();

      // create new file object
      File file = new File("/tmp/user/java/bin");

      System.out.println(file.exists());      
   }
}

輸出

編譯並執行以上程式碼以建立“/tmp/user/java/bin”資料夾。

true

注意 - Java 會根據約定自動處理 UNIX 和 Windows 上的路徑分隔符。如果您在 Windows 版本的 Java 上使用正斜槓 (/),路徑仍將正確解析。

列出(讀取)目錄

您可以使用File物件提供的list()方法列出目錄中所有可用的檔案和目錄,如下所示:

Java 中讀取(列出)目錄的示例

package com.tutorialspoint;

import java.io.File;

public class DirectoryTest {

   public static void main(String[] args) {
      File file = null;
      String[] paths;
  
      try {      
         // create new file object
         file = new File("/tmp");

         // array of files and directory
         paths = file.list();

         // for each name in the path array
         for(String path:paths) {
            // prints filename and directory name
            System.out.println(path);
         }
      } catch (Exception e) {
         // if any error occurs
         e.printStackTrace();
      }
   }
}

輸出

這將根據/tmp目錄中可用的目錄和檔案生成以下結果:

user

刪除目錄

您可以使用File物件提供的delete()方法刪除目錄,如下所示:

Java 中刪除目錄的示例

package com.tutorialspoint;

import java.io.File;

public class DirectoryTest {

   public static void main(String[] args) {
      File file = new File("/tmp/user/java/bin");
      if(file.exists()) {
         boolean success = file.delete();

         if (success) {
            System.out.println("The directory has been successfully deleted."); 
         }else {
            System.out.println("The directory deletion failed.");
         }        
      }else {
         System.out.println("The directory is not present."); 
      }
   }
}

輸出

這將根據/tmp目錄中可用的目錄和檔案生成以下結果:

The directory has been successfully deleted.
廣告