java NetBeans,正在尝试从中读取。带有扫描仪的txt文件,FileNotFoundException
我试图在NetBeans IDE中使用扫描仪从文本文件中读取字符以填充对象数组。游戏的所有文件都位于同一文件夹src/wizard/game中。下面是我的游戏面板。java类,删除了除相关代码以外的所有内容:
public class GamePanel extends JPanel
{
boolean instantiated;
public GamePanel() {
spaces = new Entity[width][height];
// Tell whether entities have been instantiated yet or not
instantiated = false;
}
// *** Interfacing methods ***
// Instatntiate entites in a level from a text file
public static void loadLevel(String l) throws FileNotFoundException {
File level = new File(l);
Scanner s = new Scanner(level);
for(int y=1; y<=GamePanel.getH(); y++) {
for(int x=1; x<=GamePanel.getW(); x++) {
String nextIdentifier = s.next();
switch(nextIdentifier) {
case("x"):
// Nothing
break;
case("s"):
new WallSandstone(x, y);
break;
}
}
}
}
@Override
public void paintComponent(Graphics g)
{
// Instantiate entities here only once
while(instantiated == false){
try {
loadLevel("levelOne.txt");
} catch (FileNotFoundException ex) {
Logger.getLogger(GamePanel.class.getName()).log(Level.SEVERE, null, ex);
}
instantiated = true;
}
}
}
还有一级。txt文件:
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x s s s s s s s s s s s s s x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x s x x x x x x x x x x x s x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x s s s s s s x s s s s s s x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
s s s s s s s s s s s s s x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x s x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x s x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x s x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x s x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x s x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x s x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x s x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x s x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x s x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x s x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x s x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
运行此代码会出现以下错误:
SEVERE: null
java.io.FileNotFoundException: levelOne.txt (The system cannot find the file specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.util.Scanner.<init>(Scanner.java:611)
at wizard.game.GamePanel.loadLevel(GamePanel.java:65)
at wizard.game.GamePanel.paintComponent(GamePanel.java:97)
at javax.swing.JComponent.paint(JComponent.java:1056)
我做错什么了吗?我一辈子都搞不明白为什么这不管用
# 1 楼答案
尝试加载文件时,可以尝试使用以下代码:
如果没有指定包,它将查找fileOne。txt文件从类路径的根文件夹开始