如何删除在追加模式下添加到文件中的内容。该文件在附加数据之前包含大量记录。
如何从此文件中删除jsonObject3和jsonObject4?请参考下面的代码
public class MainDemo {
public static void main(String[] args) throws SQLException,
ClassNotFoundException, IOException {
String FileSeparator=System.getProperty("file.separator");
Path p=Paths.get("Dummy\\Downloads\\Test\\2018-12-28\\D");
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("id",1);
JSONObject jsonObject2 = new JSONObject();
jsonObject2.put("id",2);
JSONObject jsonObject3 = new JSONObject();
jsonObject3.put("id",3);
JSONObject jsonObject4 = new JSONObject();
jsonObject4.put("id",4);
List<JSONObject> al=new ArrayList<>();
al.add(jsonObject1);
al.add(jsonObject2);
al.add(jsonObject3);
al.add(jsonObject4);
for(JSONObject jsonObject:al) {
String json=jsonObject.toString();
Files.write(
Paths.get(p+FileSeparator+"Dummy.json"),
json.getBytes(),
StandardOpenOption.APPEND);
}
al.clear();
// How do I remove the jsonObject3 and jsonObject4 from Dummy.json file
}
}
答案 0 :(得分:-1)
在这种情况下,您应该在分隔符字符串或“ $”等符号的帮助下附加对象,然后可以读取文件,然后将读取的字符串存储在字符串变量中。 然后,您将使用string.split(separatorString)获得数组中的对象。 然后删除所需的元素,并以覆盖模式从数组中重写文件中的数据。