了解Java File类

    java.io包的File类用于对文件和目录执行各种操作。还有一个名为java.nio的软件包,可用于处理文件。但是,在本教程中,我们将重点放在java.io软件包上。

1. 文件和目录

    文件是一个被命名的位置,可以用来存储相关信息。例如,main.java是一个Java文件,其中包含有关Java程序的信息。目录是文件和子目录的集合。目录内的目录称为子目录。

2. 创建一个Java文件对象

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

// creates an object of File using the path 
File file = new File(String pathName);

    在这里,我们创建了一个名为File的文件对象,该对象可用于处理文件和目录。
    注意:在Java中,创建file对象并不意味着创建一个文件。相反,file对象是文件或目录路径名的抽象表示(在括号中指定)。

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

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

  • true,如果创建了一个新文件。
  • false,如果文件已经存在于指定位置。
示例:创建一个新文件
// importing the File class
import java.io.File;

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

    // create a file object for the current location
    File file = new File("newFile.txt");

    try {

      // trying to create a file based on the object
      boolean value = file.createNewFile();
      if (value) {
        System.out.println("The new file is created.");
      }
      else {
        System.out.println("The file already exists.");
      }
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

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

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

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

The new file is created.

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

The file already exists.
3.2 Java读取文件

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

示例:使用FileReader读取文件

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

This is a line of text inside the file.

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

// importing the FileReader class
import java.io.FileReader;

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

    char[] array = new char[100];
    try {
      // Creates a reader using the FileReader
      FileReader input = new FileReader("input.txt");

      // Reads characters
      input.read(array);
      System.out.println("Data in the file:");
      System.out.println(array);

      // Closes the reader
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

    输出:

Data in the file:
This is a line of text inside the file.

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

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

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

3.3 Java写入文件

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

示例:使用FileWriter写入文件
// importing the FileWriter class
import java.io.FileWriter;

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

     String data = "This is the data in the output file";
     try {
       // Creates a Writer using FileWriter
       FileWriter output = new FileWriter("output.txt");

       // Writes string to the file
       output.write(data);
       System.out.println("Data is written to the file.");

       // Closes the writer
       output.close();
     }
     catch (Exception e) {
       e.getStackTrace();
     }
  }
}

    输出:

Data is written to the file.

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

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

    将数据写入到文件中,我们使用write()方法。
    在这里,当我们运行程序时,output.txt文件将填充以下内容:

This is the data in the output file.
3.4 Java删除文件

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

  • true,如果文件被删除。
  • false,如果文件不存在。

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

示例:删除文件
import java.io.File;

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

    // creates a file object
    File file = new File("file.txt");

    // deletes the file
    boolean value = file.delete();
    if(value) {
      System.out.println("The File is deleted.");
    }
    else {
      System.out.println("The File is not deleted.");
    }
  }
}

    输出:

The File is deleted.

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

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

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

参考文档

[1]Parewa Labs Pvt.Java InputStream Class[EB/OL].https://www.programiz.com/java-programming/file,2020-01-01.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值