![](/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.