簡體   English   中英

程序未讀取txt文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM