Java-在.txt文件中写入和读取ArrayList-BufferedWriter
一些背景: 我正在为类制作一个基于RPG文本的游戏,并且我正在为库存使用ArrayList,因为当然,每当添加另一个项目时,它都会不断变化。我希望能够将这个ArrayList保存到一个txt文件中,并且能够将它加载回同一个ArrayList中,这样玩家就可以从他们离开的地方重新开始 我目前正在使用FileReader和FileWriter,以及BufferedReader和BufferedWriter。这是因为班上的其他人为我创建了save方法,所以如果我愿意,我真的不知道如何将其更改为其他方法。我可以用BufferedWriter做我想做的事情吗?我真的不知道我应该在这里放什么样的代码,但如果有帮助的话,我就是这样声明ArrayList的:Java-在.txt文件中写入和读取ArrayList-BufferedWriter,java,bufferedreader,filereader,filewriter,bufferedwriter,Java,Bufferedreader,Filereader,Filewriter,Bufferedwriter,一些背景: 我正在为类制作一个基于RPG文本的游戏,并且我正在为库存使用ArrayList,因为当然,每当添加另一个项目时,它都会不断变化。我希望能够将这个ArrayList保存到一个txt文件中,并且能够将它加载回同一个ArrayList中,这样玩家就可以从他们离开的地方重新开始 我目前正在使用FileReader和FileWriter,以及BufferedReader和BufferedWriter。这是因为班上的其他人为我创建了save方法,所以如果我愿意,我真的不知道如何将其更改为其他方法
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循环是这样工作的。要读回数据,您可以阅读整个字符串示例: weapon1、item2、item99生成一个String对象,然后使用String类的split函数使用分隔符拆分字符串,然后构建新数组。示例
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.
非常感谢你!这非常有效,我所做的只是将从txt文件接收到的数组转换为ArrayList。它起作用了!PS我甚至不知道拆分和分隔符的内容,我的课程没有涵盖它: