【发布时间】:2016-10-19 14:26:11
【问题描述】:
我正在尝试使用文本文件来填充游戏板的 2D 数组。我似乎无法让读者真正阅读文件。我不断收到以下错误:
“无法打开文件'C://git/cse116f16/src/boardpieces/board.txt'在线程“main”java.lang.NullPointerException中出现异常”。
我知道这是因为我没有为文件路径使用正确的语法,但我终其一生都无法弄清楚应该是什么。我把它存储在C:\Users\myname\git\cse116f16\src\boardpieces\board.txt。
我需要传递给 FileReader 以读取此文件的字符串是什么?
编辑:方法如下,也许问题不是我想的那样。
还应该注意这是在一个 git 存储库上,所以我需要确保它可以被拉它的每个人阅读。
public Character[][] populateArray(String fileName){
String line = null;
Character[][] retVal = new Character[26][28];
int lineNum = 0;
try {
FileReader fileReader = new FileReader(fileName);
BufferedReader bufferedReader = new BufferedReader(fileReader);
//Assigns each character to it's corresponding place in the array
while((line = bufferedReader.readLine()) != null) {
for (int i = 0; i < 26; i++){
retVal[lineNum][i] = line.charAt(i);
}
}
bufferedReader.close();
}
catch(FileNotFoundException ex) {
System.out.println("Unable to open file '" + fileName + "'");
}
catch(IOException ex) {
System.out.println("Error reading file '" + fileName + "'");
}
return retVal;
}
public void populateBoard(){
String path = "C:\\Users\\myname\\git\\cse116f16\\src\\boardpieces\\board.txt";
Character[][] arr = populateArray(path);
//the rest of the method...
【问题讨论】:
-
这里我不清楚,\\而不是\,我可以只使用一个斜杠来做到这一点,你也可以分享你的文件内容以提供更好的回答
标签: java bufferedreader filereader