我正在使用Java从头开始创建游戏引擎,我已经开始处理新的保存文件,而不是对地图使用imaages:
工作并打印出每一行:
while ((readString = buf.readLine()) != null) {
System.out.println("Failed to assign action to line: " + readString);
}
不起作用,打印出前三行:
while ((readString = buf.readLine()) != null) {
if (readString.contains("Width:")){
readString.replace("Width:", "");
readString.trim();
Integer.parseInt(readString);
System.out.println(readString);
}else if (readString.contains("Height:")){
readString.replace("Height::", "");
readString.trim();
Integer.parseInt(readString);
System.out.println(readString);
}else{
System.out.println("Failed to assign action to line: " + readString);
}
}
如您所见,最上面的一行正在工作,并将每一行打印到控制台,第二行在读取第三行后停止。研究问题时我什么也没发现,语法似乎是正确的。我的代码有什么问题?
最佳答案
您可能没有看到一个例外。
将其放在您的代码中:
try {
//.. your while-loop here
}
catch(Exception e) {
e.printStackTrace();
}
然后修复错误。
另一个提示:
readString.replace("Width:", "")
,readString.trim()
和Integer.parseInt(readString)
将不起作用。函数本身不会更改变量,您需要将其结果分配给变量。
例:
readString = readString.trim();