我们还没有学过如何读取和写入文件,但是我们已经提供了一个预制方法,可以读取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所在的文件夹中有grade.txt文件”。这个方法有问题吗?我正在使用eclipse,并将grades.txt文件放在C:\ Users \ xxxx \ workspace \ Homework 3 \ bin
中答案 0 :(得分:2)
Eclipse将工作目录设置为项目目录。将文件放到
C:\ Users \ xxxx \ workspace \ Homework 3
它应该可以正常工作。
答案 1 :(得分:2)
Eclipse可能是从不同的工作目录运行程序而不是您认为的程序。尝试从命令行运行程序,然后进入正确的目录并运行“java GradeCalculator.class”
这应该有效。
答案 2 :(得分:1)
尝试将其移至Homework 3
目录。如果您使用javac
和java
命令来编译和运行程序,那么将grade.txt文件和已编译的类文件放在一起是正确的。但是,Eclipse会将类路径修改为非默认值。
答案 3 :(得分:1)
您必须将文件放在src路径的根目录中,然后使用" /grades.txt"
读取它答案 4 :(得分:0)
您有两种选择:将文件移动到项目目录
C:\Users\xxxx\workspace\Homework 3\
因为这是Eclipse将其当前工作目录设置为。
您的第二个选择是将文件作为资源流打开
Scanner scanner = null;
scanner = new Scanner(
GradeCalculatorFromFile.class.getResourceAsStream("grades.txt"));
这假设您的文件位于GradeCalculatorFromFile.class
旁边(就像现在一样),即CLASSPATH
上提供的文件。