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.
广告