![](/img/trans.png)
[英]Reading from a file and writing it back to a file in java(Having trouble understanding BufferedWriter write method in java)
[英]Java - Writing and Reading ArrayList to and from .txt file - BufferedWriter
一些背景:
我正在为类制作基于RPG文本的游戏,并且我为清单使用了ArrayList
,因为当然,只要添加了其他项目,它就会不断变化。 我希望能够将此ArrayList
保存到txt文件中,并且希望将其重新加载到相同的ArrayList
以便播放器可以从中断处继续播放。
我目前正在使用FileReader
和FileWriter
,以及BufferedReader
和BufferedWriter
。 这是因为该类中的其他人为我创建了save方法,所以我真的不知道如何根据需要将其更改为其他方法。 我可以使用BufferedWriter
做什么吗? 我真的不知道应该在这里输入哪种代码,但是如果有帮助,这就是我声明ArrayList的方式:
ArrayList<String> bagWeapons = new ArrayList<String>();
我的保存方法是:
void save(){
try {
FileWriter fileWriter =
new FileWriter(fileName);`
BufferedWriter bufferedWriter =
new BufferedWriter(fileWriter);
//EDIT ZONE
bufferedWriter.write(name); //playerName
bufferedWriter.newLine();
String hpSave = String.valueOf(hp1); //tempHP conversion
bufferedWriter.write(hpSave); //playertempHP
bufferedWriter.newLine();
String fullhpSave = String.valueOf(fullHP);
bufferedWriter.write(fullhpSave); //playerfullHP
bufferedWriter.newLine();
for(int i=0; i<bagWeapons.size(); i++)
bufferedWriter.write(bagWeapons.get(i) + ","); //player weapon inventory
//END EDIT ZONE
bufferedWriter.close();
}
catch(IOException ex) {
System.out.println(
"Error writing to file '"
+ fileName + "'");
}
}
“ for”循环是否可以那样工作? 文本文件上的打印内容为:WeaponName,WeaponName,WeaponName等。
我不知道该怎么写回ArrayList。 我已经尝试过一些东西,但是我的程序每次都会崩溃。
for循环的工作原理是这样的。要读回数据,您可以阅读整个字符串示例:armer1,item2,item99放入String对象,然后使用字符串类的split函数用定界符“,”分割String,然后构建新的array.example。
String text="weapon1,item2,item99";
String parts[]=text.split(",");
for(int i=0;i<parts.length();i++)
Inventory.add.parts[i] // or however you set it up.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.