找不到文件异常,不知道是什么原因

File not found exception, not sure what is the cause

我应该使用文本文件的输入创建一个字符串数组,但我无法正确读取文本文件。我在同一个文件夹中有文本文件和程序,我做错了什么?

package A2;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.PrintWriter;
import java.util.Scanner;

public class a2main {
public static final Scanner SCANNER = new Scanner(System.in);
String[] winners;

public static void main(String[]args) throws FileNotFoundException{ //main method
    String teamName = getInput();
    createArray();
    int wins = calcTeamWins(teamName);
    printWins(teamName, wins);
}

public static int calcTeamWins(String TeamName){ //Scans the array and returns team wins
    return 0;
}

public static String getInput(){ // Method to get input from user.
    System.out.println("Please enter the name of the team you'd like to choose.");
    return SCANNER.next();
}

public static String[] createArray() throws FileNotFoundException{ //Method used to create and fill array of winners.
    final int ARRAY_LENGTH = 104;
    String[] winnerArray = new String[ARRAY_LENGTH];
    File WSW = new File("WorldSeriesWinners.txt");
    Scanner inputFile = new Scanner(WSW);

    for(int i = 0; i < ARRAY_LENGTH-1; i++){
        while(inputFile.hasNext()){
        winnerArray[i] = inputFile.nextLine();
        System.out.println(winnerArray[i]);
    }
    }
    inputFile.close();
    return winnerArray;
}
public static void printWins(String TeamName, int Wins){ //Method used to print team anem + wins
    System.out.println("The " + TeamName + " have won " + Wins + " World Series.");
}

}

它应该读取的文本文件是WorldSeriesWinners.txt该文件是一个多行文本文件,每行一个字符串。

执行 Java 的位置与文件所在的位置之间存在差异。它不是从 class 所在的同一目录查找。

因为是打包好的,所以需要把它添加到路径中。

试试这样的东西:

   new File(System.getProperty("user.dir") + "/A2/" + "WorldSeriesWinners.txt")