[英]How to write an ArrayList into a text file in Android App
因此,我有一個 ArrayList,其中包含應用程序所需的一些數據,並且從名為 MyData.txt 的文本文件加載數據並將其存儲在 ArrayList 中沒有任何問題。 但問題是,在用戶對存儲在加載的 ArrayList 中的數據進行一些更改后,我希望使用新的 ArrayList 更新存儲到 MyData.txt 中的數據。 我為此編寫了一些代碼,但它似乎不起作用,並且在我按下保存按鈕后我的 txt 文件沒有得到更新,它只是跳出了應用程序。
public void SaveData(List<Four> list) throws IOException {
FileOutputStream file = openFileOutput("MyData.txt", MODE_PRIVATE);
OutputStreamWriter outputFile = new OutputStreamWriter(file);
for(int i=0 ; i<list.size() ; i++){
outputFile.write(list.get(i).first+";"+list.get(i).second+";"+list.get(i).second+";"+list.get(i).fourth+"\n");
}
outputFile.flush();
outputFile.close();
}
我有一個數據類型為四的 ArrayList(四是 class,其中包括“字符串(顯示為第一個)、字符串(顯示為第二個、int(顯示為第三個)、int(顯示為第四個))代碼的 Z78E6221F6393D1396668應該存儲在一個文本文件中,例如,如果我的列表只有一個索引,如“John Brown 1938494 0”,我的文本文件應該看起來像“John;Brown;1938494;0”。
如果您需要了解有關代碼的任何其他信息,請告訴我。 謝謝你的時間。
您可以使用谷歌 gson。
class Four {
String first,second;
int third,fourth;
public Four()
{
}
}
//save_array(your_context,"MyData.txt",your_array)
void save_array(Context contxt,String file_name,ArrayList<Four> testes)
{
Gson gson = new Gson();
String json = gson.toJson(testes);
String root = contxt.getExternalFilesDir(null).getAbsolutePath() + "/arrays";
File file = new File(root);
file.mkdirs();
try {
File out_file = new File(file, file_name);
if(out_file.exists()){
out_file.delete();
}
FileWriter writer = new FileWriter(out_file,true);
writer.append(json);
writer.flush();
writer.close();
}catch (Exception ex)
{
}
}
ArrayList<Four> saved_array(Context contxt, String file_name) throws IOException {
String path = contxt.getExternalFilesDir(null).getAbsolutePath() + "/arrays/"+file_name;
Gson gson = new Gson();
BufferedReader br = new BufferedReader(new FileReader(path));
return gson.fromJson(br, new TypeToken<List<Four>>(){}.getType());
}
你可以調用記住來請求存儲權限
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.