以平面文件存储数据的软件,常见的编码/文件格式技术是什么

时间:2008-12-19 19:37:38

标签: .net file formatting storage

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

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

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

我在某处可以阅读哪些常用技巧?

4 个答案:

答案 0 :(得分:2)

YAML。来自the site

  

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

示例(再次,from the site):

  

以下是发票示例   通过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.

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

出于完整性,我会提到古老的.ini format,但我无法想象不能用XML或YAML编写平面文件数据。