-3

如何将 json 字符串附加到已经包含 json 字符串的文件(在 java 中)?我尝试使用 objectmapper 将文件读入内存,然后将其附加并放回文件中。

ObjectMapper mapper = new ObjectMapper();
HashMap<String, Object> jsonMap = mapper.readValue( new File(workflowSessionFilePath), new TypeReference<HashMap<String, Object>>() {});

jsonMap.put("key", "value");
mapper.defaultPrettyPrintingWriter().writeValue(new File(workflowSessionFilePath), jsonMap);

但是还有比这更好的方法吗?

4

1 回答 1

0

java.nio.Files 中的方法:

public static Path write(Path path,
                         Iterable<? extends CharSequence> lines,
                         Charset cs,
                         OpenOption... options)

public static BufferedWriter newBufferedWriter(Path path,
                                               Charset cs,
                                               OpenOption... options)

如果选项不包括 CREATE,则打开现有文件,但永远不会创建新文件。
如果选项不包括 TRUNCATE,则保留现有内容并附加新内容。

来电:

java.nio.Files.write(new Path(...),
                     myOutputString,  // or StringBuffer/StringBuilder/Charbuffer
                     myCharset,       // e.g. java.nio.charset.Charset.forName("UTF8")
                     java.nio.file.StandardOpenOption.WRITE);


BufferedWriter bw =  java.nio.files.Files.newBufferedWriter(
                                               new Path(...),
                                               myCharset,
                                               java.nio.file.StandardOpenOption.WRITE);
for (...) {
      bw.write(...);
}
bw.flush();
bw.close();
于 2013-07-06T01:51:45.073 回答