在没有 SQL 或任何数据库服务器的情况下,在 Java 应用程序中保存数据的最佳方法是什么?

What the best way to persist data in Java application without SQL or any Database Sever?

我想创建一个需要存储数据的桌面应用程序。此应用程序可用于各种 PC。所以,我不想安装 sql 服务器和更多应用程序来实现此目的。我只想创建一个包含所有存储数据的文件,使备份更容易并且安装速度更快。 我想使用 JSON 或 XML 文件,或 Excel (.xmls),但这似乎很难执行搜索或其他操作。 所以,在实施之前,我想征求意见。

您可以使用 com.typesafe.config 或 SQLite。它取决于您必须存储的数据。 另一种解决方案是使用 GSON 或 xstream

将数据 class 序列化为 XML\JSON

Gson 示例:

public static class Entity {
    volatile int id;
    String name;
    transient long random;

    public Entity(int id, String name) {
        this.id = id;
        this.name = name;
    }
}
//Create new entity
Entity entity = new Entity(100, "name");
entity.random = 1234;

//Serialize to JSON. Then you can save string to file
String json = gson.toJson(entity); // {"id":100,"name":"name"}
// On application start you can deserialize your entity from file
Entity read = gson.fromJson(json, Entity.class);