簡體   English   中英

Java-向.txt文件讀寫ArrayList-BufferedWriter

[英]Java - Writing and Reading ArrayList to and from .txt file - BufferedWriter

一些背景:

我正在為類制作基於RPG文本的游戲,並且我為清單使用了ArrayList ,因為當然,只要添加了其他項目,它就會不斷變化。 我希望能夠將此ArrayList保存到txt文件中,並且希望將其重新加載到相同的ArrayList以便播放器可以從中斷處繼續播放。

我目前正在使用FileReaderFileWriter ,以及BufferedReaderBufferedWriter 這是因為該類中的其他人為我創建了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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM