我正在制作一个使用文本文件的程序。我需要这样做,以便程序可以使用它的 jar 文件从不同的计算机上运行。问题是我无法找到文本文件的正确文件路径。我已经尝试过使用getResource()
,但它仍然无法正常工作。这是代码:
public class Params {
public static void init() {
hsChartSuited = new int[13][13];
file = new File(Params.class.getResource("HandStrengthDataSuited.txt").getFile());
try {
Scanner input = new Scanner(file);
for (int i = 0; i < hsChartSuited.length; i++) {
for (int j = 0; j < hsChartSuited[i].length; j++) {
hsChartSuited[i][j] = Integer.parseInt(input.next()) - 20;
}
}
} catch (FileNotFoundException e) {
System.out.println("File not found");
}
}
HandStrengthDataSuited.txt
是我项目的 src 文件夹中的一个文件。它也位于文件夹之外,也位于项目的主目录中。我试过打印绝对文件路径,这就是我得到的:
/Users/MyUsername/file:/Users/MyUsername/Documents/Homework_Soph_2012/Computer%20Science/HoldEm/dist/HoldEm.jar!/holdem/HandStrengthDataSuited.txt
我需要获取的文件路径是
/Users/MyUsername/Documents/Homework_Soph_2012/Computer%20Science/HoldEm/holdem/HandStrengthDataSuited.txt
有谁知道这里有什么问题?