我用字符流,向一个TXT文本存入了集合里面的数据,怎么实现对文本中数据的增删减改
4条回答 默认 最新
- 阿正很牛 2023-06-02 14:15关注
使用字符流读取文本文件中的数据,将其转换为集合对象,然后对集合进行增删减改操作,最后再将修改后的集合写回到文本文件中即可。
具体实现步骤如下:
- 使用字符流读取文本文件中的数据,将其转换为集合对象。可以使用
BufferedReader
类读取文本文件中的数据,并使用Gson
库将读取到的JSON字符串转换为集合对象。
BufferedReader reader = new BufferedReader(new FileReader("data.txt")); List<Data> dataList = new Gson().fromJson(reader, new TypeToken<List<Data>>(){}.getType());
- 对集合进行增删减改操作。根据需求对集合进行增删减改操作,例如:
// 添加数据 dataList.add(new Data("new data")); // 删除数据 dataList.remove(0); // 修改数据 dataList.get(0).setName("modified data");
- 将修改后的集合写回到文本文件中。可以使用
BufferedWriter
类将集合对象转换为JSON字符串,并写入到文本文件中。
BufferedWriter writer = new BufferedWriter(new FileWriter("data.txt")); writer.write(new Gson().toJson(dataList)); writer.close();
完整代码示例:
import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.io.*; import java.util.List; public class Main { public static void main(String[] args) throws IOException { // 读取数据 BufferedReader reader = new BufferedReader(new FileReader("data.txt")); List<Data> dataList = new Gson().fromJson(reader, new TypeToken<List<Data>>(){}.getType()); reader.close(); // 对数据进行增删减改操作 dataList.add(new Data("new data")); dataList.remove(0); dataList.get(0).setName("modified data"); // 写入数据 BufferedWriter writer = new BufferedWriter(new FileWriter("data.txt")); writer.write(new Gson().toJson(dataList)); writer.close(); } } class Data { private String name; public Data(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 - 使用字符流读取文本文件中的数据,将其转换为集合对象。可以使用