我被使用 sql server 存储数据或使用 xml 文件宠坏了。
将数据存储在 xml 和 CSV 以外的平面文件中的常用技术是什么。
我知道很多次当我打开文件时数据都是混乱的,这意味着它是编码的吗?
有什么我可以在某处读到的常用技术吗?
我被使用 sql server 存储数据或使用 xml 文件宠坏了。
将数据存储在 xml 和 CSV 以外的平面文件中的常用技术是什么。
我知道很多次当我打开文件时数据都是混乱的,这意味着它是编码的吗?
有什么我可以在某处读到的常用技术吗?
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.
取决于你的要求。如果它需要人类可读,那么 YAML、XML 和 CVS 都很好。
但是,如果您需要性能或存储二进制值(例如 8 字节双精度值),那么我个人使用 Java 出色的 DataOutputStream 和 DataInputStream 创建自己的文件格式。但是在创建自己的格式时要小心。您通常不想与世界分享它,否则您将需要关心安全性和可扩展性。您将始终需要关心数据完整性,并且可能会添加一些 crc 校验和。
很难获得正确的自定义二进制平面文件,因此请确保您确实需要一个并寻求帮助!
文件完全“混乱”并不意味着它已被编码。它仅意味着它以某种二进制格式而不是文本格式保存。
当您以二进制格式保存时,您只需将数据原样写入程序存储器中。例如,要写入整数,您直接写入整数的 4 个字节,而不是将其转换为文本。这具有节省空间的优点。
如果您使用记事本打开这样的文件,您将看到的只是随机字符。
出于完整性考虑,我将提到古老的.ini 格式,但我无法想象不以 XML 或 YAML 格式编写平面文件数据失败。