NetBeansの新機能で、両方のIDEでファイルが見つからないという問題があります。 PowerShellで私のプログラムをコンパイルして実行すると、完全に動作します。 "java.io.FileNotFoundException:model \ field \ levels \ map01.field"のようなExceptionErrorがあります。 私のパッケージはあります。NetBeansとEclipse FileNotFoundException
- コントローラ
- model.field.levels
- view.tiles Field.javaで
:FieldReader.javaで
public void setField() {
FieldReader fr = new FieldReader();
field = fr.load("model/field/levels/map01.field");
}
:
public int[][] load(String path){
int field[][] = null;
try {
File file = new File(path);
BufferedReader br = new BufferedReader(new FileReader(file));
String s = null;
int line = 0;
int x = 0;
int y = 0;
while((s = br.readLine()) != null) {
if(line == 0) {
int start = 0;
int split = 0;
for (int i = 0; i < s.length(); i++) {
if(s.charAt(i) == 32) start = i + 1;
if(s.charAt(i) == 'x') split = i;
}
x = Integer.parseInt(s.substring(start, split));
y = Integer.parseInt(s.substring(split + 1));
System.out.println(x);
System.out.println(y);
field = new int[x][y];
}
if(line >= 2) {
for (int i = 0; i < x; i++) {
field[i][line - 2] = Character.getNumericValue(s.charAt(i));
}
System.out.println(s);
}
line++;
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
return field;
}
ファイルは適切な場所にあり、画像のような他のファイルをロードすることですべて正常に動作します。
現在の作業ディレクトリを意味のあるものに設定して、相対パスが解決されることを期待します。 Javaは現在の作業ディレクトリを設定しません。 –
'file.getAbsolutePath()'を印刷してみてください –
私はこれを試しましたが、何か奇妙なことが起こります。 – SeTirap