Java 读取文件



  • 读取文件

    在上一章中,您学习了如何创建和写入文件。在下面的示例中,我们使用Scanner类读取上一章中创建的文本文件的内容:
    import java.io.File;  // Import the File class
    import java.io.FileNotFoundException;  // Import this class to handle errors
    import java.util.Scanner; // Import the Scanner class to read text files
    
    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("An error occurred.");
          e.printStackTrace();
        }
      }
    }
    
    输出将是:
    Files in Java might be tricky, but it is fun enough!
    
  • 获取文件信息

    要获取有关文件的更多信息,请使用以下任何一种File方法:
    import java.io.File;  // Import the File class
    
    public class GetFileInfo { 
      public static void main(String[] args) {
        File myObj = new File("filename.txt");
        if (myObj.exists()) {
          System.out.println("File name: " + myObj.getName());
          System.out.println("Absolute path: " + myObj.getAbsolutePath());
          System.out.println("Writeable: " + myObj.canWrite());
          System.out.println("Readable " + myObj.canRead());
          System.out.println("File size in bytes " + myObj.length());
        } else {
          System.out.println("The file does not exist.");
        }
      }
    }
    
    输出将是:
    File name: filename.txt
    Absolute path: C:\Users\MyName\filename.txt
    Writeable: true
    Readable: true
    File size in bytes: 0
    
    注意: Java API中有许多文件IO可用的类,可用于在Java中读取和写入文件:FileReader, BufferedReader, Files, Scanner, FileInputStream, FileWriter, BufferedWriter, FileOutputStream等等。使用哪种类取决于您使用的Java版本以及是否需要读取字节或字符,以及文件/行的大小等
    提示:要删除文件,请阅读“Java删除文件”一章。