【发布时间】:2015-10-10 04:14:00
【问题描述】:
感谢这个伟大的社区,我的世界编辑器几乎完成了,我唯一需要知道的是如何告诉我读取的文件代码来处理特定的字母。当我在键盘上按 Enter 键时,我会将 Vector3f 的坐标写入文本文件,这个 Vector3f 是我的活动游戏对象的位置。我的 ProcessText 方法可以读取文本文件并处理坐标,但是他只能读取任何类型的格式:
public void ProcessText()
{
String file_name = "C:/Users/Server/Desktop/textText.txt";
try
{
ProcessCoords file = new ProcessCoords(file_name);
String[] aryLines = file.OpenFile();
int i;
for (i = 0; i < aryLines.length; i++)
{
System.out.println(aryLines[i]);
if(aryLines[i].startsWith("makeGrass:")) {
String Arguments = aryLines[i].substring(aryLines[i].indexOf(":")+1, aryLines[i].length());
String[] ArgArray = Arguments.split(",");
this.makeGrass(Double.parseDouble(ArgArray[0]),
Double.parseDouble(ArgArray[1]),
Double.parseDouble(ArgArray[2]));
}
}
} catch(IOException e) {
System.out.println(e.getMessage());
}
}
在上面的例子中,我的 ProcessText 方法只能处理这样写的坐标:
makeGrass:x,y,z //for example makeGrass:5,1,9
但是当我按下回车键并写下我的引擎给出的坐标时,我得到了不同的格式:
makeGrass:(x y z) //for example makeGrass:(3 1 4)
现在我需要知道的是,我必须如何重写我的 ProcessText 方法中的代码,以便它解释在开头和结尾有括号的另一种格式,以及用空格将 x 从 y 和 y 从 z 分隔逗号。
我真的不知道在哪里可以找到这个问题的答案,所以我很感谢任何关于它如何工作的帮助和解释。
提前非常感谢!
【问题讨论】:
-
ArgArray = Arguments.substring(1, Arguments.length() - 2).split(" ");
标签: java filereader account letter