📜  Java程序逐行读取文件的内容

📅  最后修改于: 2020-09-26 19:13:12             🧑  作者: Mango

在这个例子中,我们将学习使用Java中的各种类来读取文件的内容。

示例1:Java程序使用BufferedInputStream读取文件
import java.io.BufferedInputStream;
import java.io.FileInputStream;

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

      // Creates a FileInputStream
      FileInputStream file = new FileInputStream("input.txt");

      // Creates a BufferedInputStream
      BufferedInputStream input = new BufferedInputStream(file);

      // Reads first byte from file
      int i = input .read();

      while (i != -1) {
        System.out.print((char) i);

        // Reads next byte from the file
        i = input.read();
      }
      input.close();
    }

    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

输出

First Line
Second Line
Third Line
Fourth Line
Fifth Line

在上面的示例中,我们使用BufferedInputStream类从名为input.txt的文件中读取每一行。

注意 :为了运行此文件,您应该在当前工作目录中有一个名为input.txt的文件。


示例2:Java程序使用BufferedReader读取文件
import java.io.FileReader;
import java.io.BufferedReader;

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

    // Creates an array of character
    char[] array = new char[100];

    try {
      // Creates a FileReader
      FileReader file = new FileReader("input.txt");

      // Creates a BufferedReader
      BufferedReader input = new BufferedReader(file);

      // 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: 
First Line
Second Line
Third Line
Fourth Line
Fifth Line

在上面的示例中,我们使用BufferedReader类读取名为input.txt的文件。


示例3:使用扫描仪读取文件的Java程序
import java.io.File;
import java.util.Scanner;

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

    try {
      // create a new file object
      File file = new File("input.txt");

      // create an object of Scanner
      // associated with the file
      Scanner sc = new Scanner(file);

      // read each line from file and print it
      System.out.println("Reading File Using Scanner:");
      while(sc.hasNextLine()) {
        System.out.println(sc.nextLine());
      }

      // close scanner
      sc.close();
    } catch (Exception e) {
      e.getStackTrace();
    }
  }
}

输出

Reading File Using Scanner:
First Line
Second Line
Third Line
Fourth Line
Fifth Line

在上面的示例中,我们创建了一个名为fileFile类的对象。然后,我们创建了一个与文件关联的Scanner对象。

在这里,我们使用了扫描仪方法

  • hasNextLine() -如果文件中存在下一行,则返回true
  • nextLine() -从文件返回整行

要了解有关扫描仪的更多信息,请访问Java Scanner。