在 Java 中使用 Scanner 类读取.txt文件

2022-08-31 16:36:07

我正在开发一个Java程序,该程序逐行读取文本文件,每个文本文件都有一个数字,将每个数字放入数组中,然后尝试使用插入排序对数组进行排序。我需要帮助让程序读取文本文件。

我收到以下错误消息:

java.io.FileNotFoundException: 10_Random (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at insertionSort.main(insertionSort.java:14)

我在“src”“bin”和主项目文件夹中有.txt文件的副本,但它仍然找不到该文件。顺便说一句,我正在使用Eclipse。

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class insertionSort {

public static void main(String[] args) {

    File file = new File("10_Random");

    try {

        Scanner sc = new Scanner(file);

        while (sc.hasNextLine()) {
            int i = sc.nextInt();
            System.out.println(i);
        }
        sc.close();
    } 
    catch (FileNotFoundException e) {
        e.printStackTrace();
    }
 }
}

答案 1

你必须把文件扩展名在这里

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

答案 2

使用以下代码读取文件

import java.io.File;
import java.util.Scanner;

public class ReadFile {

    public static void main(String[] args) {

        try {
            System.out.print("Enter the file name with extension : ");

            Scanner input = new Scanner(System.in);

            File file = new File(input.nextLine());

            input = new Scanner(file);


            while (input.hasNextLine()) {
                String line = input.nextLine();
                System.out.println(line);
            }
            input.close();

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

}

->此应用程序正在逐行打印文件内容