簡體   English   中英

在Java應用程序中保存數據的最佳方法?

[英]Best way to save data in a Java application?

我正在嘗試找到保存簡單應用程序狀態的最佳方法。 從數據庫的角度來看,有4/5個表格,其中包含日期字段和關系。

因為應用程序很簡單,我希望用戶可以選擇移動數據(usb pen,dropbox等),我想將所有數據放在一個文件中。

這樣做的最佳方式/ lib是什么?

XML通常是最好的格式(可讀性和開放性),但是我沒有在沒有SAX / DOM的情況下找到任何優秀的lib。

如果要使用XML,請查看XStream,以便將Java對象簡單地序列化為XML。 這是“兩分鍾教程”

如果您想要簡單的東西,標准的Java Properties格式也可以是存儲/加載一些小數據的方法。

考慮使用JDK附帶的普通JAXB注釋:

@XmlRootElement  
private class Foo {  
    @XmlAttribute  
    private String text = "bar";
}

這是我的博客文章 ,提供了有關JAXB這種簡單用法的更多細節(它還提到了一種更“優雅”的基於JAXB的方法 - 如果您需要更好地控制XML架構,例如為了保證向后兼容性)

如果您不需要為數據提供語義含義,那么XML可能是一個錯誤的選擇。 我建議使用無脂替代JSON ,它更自然地為數據結構構建。

您可能考慮的其他2個選項 -

  • Hsqldb是一個用java編寫的小型sql db。 為了您的目的更相關,它可以配置為簡單地寫入csv文件作為它的數據存儲,因此您可以想象使用它的文本輸出作為可移植數據存儲區並仍然使用sql,如果這是您喜歡的。
  • 第二種選擇可能是直接或通過像prevayler這樣的庫將數據存儲直接寫入序列化文件。 非常好的性能和易於實現,缺點是格式的脆弱性和不透明性。

但是如果數據足夠小,那么xml可能就不那么麻煩了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM