[英]Program not reading txt file
我是Java的初学者,从事我们的头等作业。 在此作业中,我需要读取一个txt
文件,并用其内容填充数组,数组中每行的第一个空格。
我的教授为我们提供了执行此操作的代码,但是我每次遇到错误都无法读取该文件。 我在Mac上使用Netbeans 8,文件States.Fall2014.txt
位于src
文件夹中,其中包含所有我的Java类。
Exception in thread "main" java.io.FileNotFoundException: States.Fall2014.txt (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:93)
at java.io.FileReader.<init>(FileReader.java:58)
at main.main(main.java:21)
Java Result: 1
这是我的代码。 我只包含了与打开文件有关的代码,因为我敢肯定您不希望被其他类弄垃圾。 修剪期间注释的代码将回显打印,以确保正确读取文件(当前不需要,因为根本没有读取文件)。
import java.io.*;
public class main {
/**
* @param args the command line arguments
* @throws java.io.IOException
*/
public static void main(String args[]) throws IOException {
StateCollection Sdriver = new StateCollection(50);
//Sdriver = new StateCollection(50);
//Creates object of collection class
FileReader fr= new FileReader("States.Fall2014.txt");
BufferedReader br1 = new BufferedReader (fr);
String inputString;
String stateName;
String stateCapital;
String stateAbbrev;
int statePop;
String stateRegion;
int stateRegionNum;
inputString = br1.readLine();
while (inputString != null)
{
stateName = inputString.substring(1, 15).trim();
//System.out.println("stateName read in was: " + stateName);
stateCapital = inputString.substring(16, 30).trim();
//System.out.println(“stateCapital read in was: “ + stateCapital);
stateAbbrev = inputString.substring(31, 32).trim();
//System.out.println(“stateAbbrev read in was: “ + stateAbbrev);
statePop = Integer.parseInt(inputString.substring(33, 40));
//System.out.println(“statePop read in was: “ + statePop);
stateRegion = inputString.substring(41, 55).trim();
//System.out.println(“stateRegion read in was: “ + stateRegion);
stateRegionNum = Integer.parseInt(inputString.substring(56));
//System.out.println(“stateRegionNum read in was: “ + stateRegionNum);
//Code to create object
inputString = br1.readLine(); // read next input line.
}
br1.close(); //Close input file being read
确保TXT文件在正确的文件夹/区域中。
您不应该在班级中使用它,因为其他答案指出,您需要在根文件夹中使用它。
将文件上移一级,与src文件夹相同。
src目录不是(不一定)该.class文件所在的目录。请确保在类路径中有States.Fall2014.txt。
更改
FileReader fr= new FileReader("States.Fall2014.txt");
至
FileReader fr= new FileReader("src/States.Fall2014.txt");
或将文件上移至项目目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.