【发布时间】:2014-05-03 08:54:13
【问题描述】:
基本上,我一直在寻找一个将数组的一些数据放入文本文件的脚本,之后保存的数据可能会再次变为红色。
我做到了这样的第一部分:
public void slaOp(){
try {
File file = new File("savefile.txt");
// Als bestand nog niet bestaat maak je het.
if (!file.exists()) {
file.createNewFile();
}
// Schrijven naar de file
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
// alle x waarden op 1 lijn en alle y waarden op 1 lijn
String xwaarden = "";
for(int i=0; i<positiesX.length;i++){
xwaarden += ""+positiesX[i];
}
String ywaarden="";
for(int s=0; s<positiesY.length;s++){
ywaarden += ""+positiesY[s];
}
bw.write(xwaarden);
bw.newLine();
bw.write(ywaarden);
bw.close();
System.out.println("Bestand werkt correct verwerkt.");
} catch (IOException e) {
e.printStackTrace();
}
}
这第一部分将数据写入文件,如下所示:
123456
465489
对于第二部分,我找到了很多方法,但没有一种适合我的需求。 首先,我有一个脚本,将整行红色作为字符串。除了我不需要 Stringline 但数字分开的部分之外,这有效。
之后我尝试了一个使用 hasNextInt() 和 nextInt() 的脚本。 但是由于某种原因,这个脚本没有读到任何东西。我认为问题在于文本文件中的整数不是实际整数而是字符串这一事实? 我无法解决这个问题,所以尝试了第三个脚本。
FileInputStream fileInput = new FileInputStream("savefile.txt");
int r;
while ((r = fileInput.read()) != -1) {
int c = (int) r;
System.out.println(c);
}
fileInput.close();
此脚本读取字符。当将它们转换为整数时,输出不是保存到文件中的数字。
谁能告诉我处理这种情况的正确方法?有没有一些很好的例子解释?
【问题讨论】:
-
如果每行只有一个数字,则可以将该行读取为字符串,然后使用
Integer.parseInt。这行得通吗? -
我已经尝试过了,但我需要按数字输入数字。
标签: java parsing type-conversion