Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java File 类

在本教程中,我们将借助示例学习Java File及其各种操作。

java.io包的File类用于对文件和目录执行各种操作。

还有一个名为的java.nio包,可用于处理文件。但是,在本教程中,我们将重点放在java.io包上。

文件和目录

文件是可用于存储相关信息的命名位置。例如,

main.java是一个Java文件,其中包含有关Java程序的信息。

目录是文件和子目录的集合。目录内的目录称为子目录。

创建一个Java文件对象

要创建的对象File,我们需要先导入java.io.File包。导入包后,就可以创建文件对象。

//使用路径创建File对象 
File file = new File(String pathName);

在这里,我们创建了一个名为file的文件对象。该对象可用于处理文件和目录。

注意:在Java中,创建文件对象并不意味着创建文件。相反,文件对象是文件或目录路径名的抽象表示(在括号中指定)。

Java文件操作方法

操作方式方法
创建文件createNewFile()java.io.File
读取文件read()java.io.FileReader
写入文件write()java.io.FileWriter
删除文件delete()java.io.File

Java创建文件

要创建一个新文件,我们可以使用createNewFile()方法。它返回

  • true - 如果创建了一个新文件。

  • false - 如果文件已经存在于指定位置。

示例:创建一个新文件

//导入File类
import java.io.File;

class Main {
  public static void main(String[] args) {

    //为当前位置创建一个file对象
    File file = new File("newFile.txt");

    try {

      //尝试基于该对象创建文件
      boolean value = file.createNewFile();
      if (value) {
        System.out.println("新文件已创建。");
      }
      else {
        System.out.println("该文件已经存在。");
      }
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

在上面的示例中,我们创建了一个名为file的文件对象。该文件对象与指定的文件路径链接。

File file = new File("newFile.txt");

在这里,我们使用了文件对象来创建具有指定路径的新文件。
如果newFile.txt在当前位置不存在,那么将创建文件并显示此消息。

新文件已创建。

但是,如果newFile.txt已经存在,我们将看到此消息。

该文件已经存在。

Java读取文件

要从文件中读取数据,我们可以使用InputStreamReader的子类。

示例:使用FileReader读取文件

假设我们有一个名为input.txt的文件,其中包含以下内容。

www.cainiaojc.com  Java教程

现在,让我们尝试使用Java FileReader读取文件。

// 导入 FileReader
import java.io.FileReader;

class Main {
  public static void main(String[] args) {

    char[] array = new char[100];
    try {
      //使用FileReader创建阅读器
      FileReader input = new FileReader("input.txt");

      //读取字符
      input.read(array);
      System.out.println("文件中的数据:");
      System.out.println(array);

      // 关闭 reader
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

输出结果

文件中的数据:
www.cainiaojc.com  Java教程

在以上示例中,我们使用FileReader创建的名为input的对象。现在,它已与input.txt文件链接。

FileReader input = new FileReader("input.txt");

要从input.txt文件中读取数据,我们使用了FileReader的read()方法。

Java写入文件

要将数据写入文件,我们可以使用OutputStreamWriter的子类。

示例:使用FileWriter写入文件

//导入FileWriter类
import java.io.FileWriter;

 class Main {
   public static void main(String args[]) {

     String data = "This is the data in the output file";
     try {
       //使用FileWriter创建一个Writer
       FileWriter output = new FileWriter("output.txt");

       //将字符串写入文件
       output.write(data);
       System.out.println("数据被写入文件。");

       //关闭 writer
       output.close();
     }
     catch (Exception e) {
       e.getStackTrace();
     }
  }
}

输出结果

数据被写入文件。

在上面的示例中,我们使用FileWriter类创建了writer 。写入器output.txt文件链接。

FileWriter output = new FileWriter("output.txt");

将数据写入到文件中,我们使用的write()方法.

在这里,当我们运行程序时,output.txt文件将填充以下内容。

www.cainiaojc.com  Java教程

Java删除文件

我们可以使用File类的delete()方法来删除指定的文件或目录。它返回

  • true   - 如果文件被删除。

  • false  - 如果文件不存在。

注意:我们只能删除空目录。

示例:删除文件

import java.io.File;

class Main {
  public static void main(String[] args) {

    //创建一个file对象
    File file = new File("file.txt");

    //删除该文件
    boolean value = file.delete();
    if(value) {
      System.out.println("文件被删除。");
    }
    else {
      System.out.println("文件被删除。");
    }
  }
}

输出结果

文件被删除。

在上面的示例中,我们创建了一个名为File的File对象。该文件现在包含有关指定文件的信息。

File file = new File("file.txt");

在这里,我们使用了delete()方法删除该对象指定的文件。