1

我被使用 sql server 存储数据或使用 xml 文件宠坏了。

将数据存储在 xml 和 CSV 以外的平面文件中的常用技术是什么。

我知道很多次当我打开文件时数据都是混乱的,这意味着它是编码的吗?

有什么我可以在某处读到的常用技术吗?

4

4 回答 4

2

亚AML。从网站

YAML 是适用于所有编程语言的人性化数据序列化标准。

示例(再次,来自网站):

以下是通过 YAML(tm) 表示的发票示例。结构通过缩进(一个或多个空格)显示。序列项用破折号表示,映射中的键值对用冒号分隔。

invoice: 34843
date   : 2001-01-23
bill-to: &id001
    given  : Chris
    family : Dumars
    address:
        lines: |
            458 Walkman Dr.
            Suite #292
        city    : Royal Oak
        state   : MI
        postal  : 48046
ship-to: *id001
product:
    - sku         : BL394D
      quantity    : 4
      description : Basketball
      price       : 450.00
    - sku         : BL4438H
      quantity    : 1
      description : Super Hoop
      price       : 2392.00
tax  : 251.42
total: 4443.52
comments: >
    Late afternoon is best.
    Backup contact is Nancy
    Billsmer @ 338-4338.
于 2008-12-19T19:42:30.620 回答
2

取决于你的要求。如果它需要人类可读,那么 YAML、XML 和 CVS 都很好。

但是,如果您需要性能或存储二进制值(例如 8 字节双精度值),那么我个人使用 Java 出色的 DataOutputStream 和 DataInputStream 创建自己的文件格式。但是在创建自己的格式时要小心。您通常不想与世界分享它,否则您将需要关心安全性和可扩展性。您将始终需要关心数据完整性,并且可能会添加一些 crc 校验和。

很难获得正确的自定义二进制平面文件,因此请确保您确实需要一个并寻求帮助!

于 2008-12-19T19:51:38.670 回答
1

文件完全“混乱”并不意味着它已被编码。它仅意味着它以某种二进制格式而不是文本格式保存。
当您以二进制格式保存时,您只需将数据原样写入程序存储器中。例如,要写入整数,您直接写入整数的 4 个字节,而不是将其转换为文本。这具有节省空间的优点。
如果您使用记事本打开这样的文件,您将看到的只是随机字符。

于 2008-12-19T19:47:01.877 回答
0

出于完整性考虑,我将提到古老的.ini 格式,但我无法想象不以 XML 或 YAML 格式编写平面文件数据失败。

于 2008-12-19T19:52:17.263 回答