我是一名初學Java的學生,致力於我們的第一課作業。 在這個任務中,我需要讀取一個txt
文件,並用它的內容填充一個數組,每行第一個空格在數組中。程序不讀取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
爲什麼不硬編碼完整路徑?您可以右鍵單擊該文本文件並從屬性複製路徑。 – RyPope 2014-09-12 20:58:08
我需要壓縮文件並將其發送給我的教授,如果我編寫了硬編碼路徑,那麼這不會破壞路徑嗎? – 2014-09-12 21:00:28