Java 读取文件

读取文件

在上一章中,您学习了如何创建并写入文件。

在下面的例子中,我们使用 Scanner 类来读取我们在上一章中创建的文本文件的内容:

实例

import java.io.File;  // 导入 File 类
import java.io.FileNotFoundException;  // 导入这个类来处理错误
import java.util.Scanner; // 导入 Scanner 类以读取文本文件

public class ReadFile {
  public static void main(String[] args) {
    try {
      File myObj = new File("filename.txt");
      Scanner myReader = new Scanner(myObj);
      while (myReader.hasNextLine()) {
        String data = myReader.nextLine();
        System.out.println(data);
      }
      myReader.close();
    } catch (FileNotFoundException e) {
      System.out.println("发生错误。");
      e.printStackTrace();
    }
  }
}

输出将是:

Java 中的文件可能很棘手,但它很有趣!

亲自试一试

获取文件信息

如需获取有关文件的更多信息,请使用任意 File 方法:

实例

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

public class GetFileInfo { 
  public static void main(String[] args) {
    File myObj = new File("filename.txt");
    if (myObj.exists()) {
      System.out.println("文件名称:" + myObj.getName());
      System.out.println("绝对路径:" + myObj.getAbsolutePath());
      System.out.println("是否可写:" + myObj.canWrite());
      System.out.println("是否可读:" + myObj.canRead());
      System.out.println("文件大小:" + myObj.length());
    } else {
      System.out.println("文件不存在。");
    }
  }
}

输出将是:

文件名称:filename.txt
绝对路径:C:\Users\MyName\filename.txt
是否可写:true
是否可读:true
文件大小:0

亲自试一试

注意:Java API 中有很多可用的类可以用来在 Java 中读写文件:FileReaderBufferedReaderFilesScannerFileInputStreamFileWriterBufferedWriterFileOutputStream 等,使用哪一个取决于您正在使用的 Java 版本,以及是否需要读取字节或字符,以及文件/行的大小等。

提示:要删除文件,请阅读 Java 删除文件 一章。