用Java读取文件

用Java读取文件,java,eclipse,file,Java,Eclipse,File,我们还没有学习如何读写文件,但是我们已经获得了一个预制作的方法,可以读取txt文件。问题是它似乎不起作用。这是给我们的预制方法 /****************************************************************************** * * Filename : GradeCalculatorFromFile.java. * Author: xxxxxxxxxxx * Date: 09/025/

我们还没有学习如何读写文件,但是我们已经获得了一个预制作的方法,可以读取txt文件。问题是它似乎不起作用。这是给我们的预制方法

/******************************************************************************
 *
 * Filename :     GradeCalculatorFromFile.java.
 * Author:        xxxxxxxxxxx
 * Date:          09/025/2011
 * Description:  This program computes the scores of a list of students in the CSE155a class
 *
 ******************************************************************************/
import java.io.File;
import java.io.FileNotFoundException;
import java.util.*;

/* Provide a description of the class */
public class GradeCalculatorFromFile {
    public static void main(String[] args) {
        // Declare and initialise the variables as needed
      /* The following code enables the user to accept input from the keyboard. Keep this code as it is. */
        Scanner scanner = null;
        try {
            scanner = new Scanner(new File("grades.txt"));
        } catch (FileNotFoundException e) {
            System.out.println("Error opening file. Please make sure that you have a grades.txt file in the same folder as GradeCalculator.class");
            System.exit(0);
        }
        /*
        Add your code here to read the number of students and the scores
        Use scanner.next() to read a String
        Use scanner.nextInt() to read an int
        */
    }
}

现在,说明告诉我们将grades.txt与GradeCalculatorFromFile.class放在同一文件夹中。我这样做了,但是我收到了错误消息“打开文件时出错。请确保您在与GradeCalculator.class相同的文件夹中有一个grades.txt文件”。这个方法有什么问题吗?我正在使用eclipse,我将grades.txt文件放在C:\Users\xxxx\workspace\combiness 3\bin中,eclipse将工作目录设置为项目目录。将文件放入

C:\Users\xxxx\workspace\Homeline 3


Eclipse将工作目录设置为项目目录。将文件放入

C:\Users\xxxx\workspace\Homeline 3


而且它应该可以正常工作。

可能是Eclipse运行程序的工作目录与您认为的不同。尝试从命令行运行该程序,方法是将cding插入正确的目录并运行“javagradecalculator.class”


这应该行得通。

可能是Eclipse运行程序的工作目录与您认为的不同。尝试从命令行运行该程序,方法是将cding插入正确的目录并运行“javagradecalculator.class”


那应该行。

试着把它移到
家庭作业3
目录中。如果使用
javac
java
命令编译和运行程序,那么将grades.txt文件和编译的类文件放在同一位置是正确的。但是,Eclipse将类路径修改为非默认路径。

尝试将其移动到
作业3
目录中。如果使用
javac
java
命令编译和运行程序,那么将grades.txt文件和编译的类文件放在同一位置是正确的。但是,Eclipse将类路径修改为非默认值。

您必须将文件放在src路径的根目录下,然后使用“/grades.txt”读取它。

您必须将文件放在src路径的根目录下,然后使用“/grades.txt”读取它。

您有两个选项:或者,将文件移动到项目目录

C:\Users\xxxx\workspace\Homework 3\
因为Eclipse将其当前工作目录设置为

第二个选项是将文件作为资源流打开

Scanner scanner = null;
scanner = new Scanner(
              GradeCalculatorFromFile.class.getResourceAsStream("grades.txt"));

这假设您的文件位于
GradeCalculatorFromFile.class
(就像现在一样)旁边,即在
CLASSPATH上可用。您有两个选项:或者,将文件移动到项目目录

C:\Users\xxxx\workspace\Homework 3\
因为Eclipse将其当前工作目录设置为

第二个选项是将文件作为资源流打开

Scanner scanner = null;
scanner = new Scanner(
              GradeCalculatorFromFile.class.getResourceAsStream("grades.txt"));

这假设您的文件位于
GradeCalculatorFromFile.class
(就像它现在已经存在一样)的旁边,即在
CLASSPATH

谷歌上可以找到如何以字符串形式获取程序的当前路径。然后输出路径,这将为您提供文件存放位置的参考。不要将其粘贴到垃圾箱。。将其移动到项目的根目录。否则,请提供我在Eclipse中记得的完整路径,您需要在项目级目录而不是bin子目录中调整资源的速度。然后输出路径,这将为您提供文件存放位置的参考。不要将其粘贴到垃圾箱。。将其移动到项目的根目录。否则,请提供我在Eclipse中记得的完整路径,您需要在项目级目录而不是bin子目录中调整资源的速度。