有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中的FileReader找不到该文件

我试图读取一个纯文本文件,但不知何故FileReader找不到我的文本文件。我用getAbsolutefile()检查了目录,/Users/djhanz/IdeaProjects/datalab2/pg174.txt是文件的确切位置。我试了datlab2/pg174.txt尽我所能。 这是我的密码

public class Program1 {

    public static void main(String[] args) {
        System.out.println(new File("pg174.txt").getAbsoluteFile());
        Scanner testScanner = new Scanner(new BufferedReader(new FileReader("/Users/djhanz/IdeaProjects/datalab2/pg174.txt")));
        while (testScanner.hasNextLine())
        {
            System.out.println(testScanner.nextLine());
        }

    }


}

文本文件位于名为datalab的同一项目目录下。 有人能告诉我吗


共 (1) 个答案

  1. # 1 楼答案

    使用Scanner testScanner = new Scanner(new BufferedReader(new FileReader("/pg174.txt")));

    FileReader("/pg174.txt")而不是FileReader("pg174.txt")

    package com.example.demo;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.util.Scanner;
    
    public class Program1 {
    
        public static void main(String[] args) throws FileNotFoundException {
            System.out.println(new File("pg174.txt").getPath());
            System.out.println(new File("pg174.txt").getAbsoluteFile());
            System.out.println(new File("pg174.txt").getAbsolutePath());
            Scanner testScanner = new Scanner(new BufferedReader(new FileReader("/pg174.txt")));
            while (testScanner.hasNextLine()) {
                System.out.println(testScanner.nextLine());
           }
        }
    }
    

    输出:

    output