программное обеспечение, которое хранит данные в плоском файле, каковы общие методы кодирования / форматирования файла - PullRequest
1 голос
/ 19 декабря 2008

Я был избалован использованием сервера SQL для хранения данных или использованием файлов XML.

Каковы общие методы хранения данных в простых файлах, кроме XML и CSV.

Я много раз знаю, когда открываю файлы, что все данные перемешаны, что означает, что они закодированы правильно?

Есть ли какие-нибудь распространенные приемы, о которых я мог бы прочитать где-нибудь?

Ответы [ 4 ]

2 голосов
/ 19 декабря 2008

Зависит от ваших требований. Если он должен быть удобочитаемым, тогда YAML, XML и CVS хороши.

Но если вам нужна производительность или хранение двоичных значений (скажем, 8-байтовых двойных), то лично я создаю свой собственный формат файла, используя отличные Java DataOutputStream и DataInputStream. Но будьте осторожны при создании собственного формата. Как правило, вы не хотите делиться этим с миром, иначе вам придется заботиться о безопасности и расширяемости. Вам всегда нужно заботиться о целостности данных и, возможно, добавить некоторые контрольные суммы crc.

Трудно получить правильные двоичные плоские файлы, поэтому убедитесь, что они вам действительно нужны, и обратитесь за помощью!

2 голосов
/ 19 декабря 2008

YAML . С сайта :

YAML - это удобный для людей стандарт сериализации данных для всех языков программирования.

Пример (снова с сайта ):

Ниже приведен пример счета выражается через YAML (тм). Структура показано через отступ (один или несколько пространства). Элементы последовательности обозначены тире и пары ключ-значение в пределах карта разделена двоеточием.

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 голос
/ 19 декабря 2008

Файл, который все "перемешан", не означает, что он закодирован. это означает только то, что он сохраняется в некотором двоичном формате, а не в текстовом формате.
При сохранении в двоичном формате вы просто записываете данные в том виде, в котором они находятся в памяти программы. для instace, чтобы написать целое число, вы непосредственно пишете 4 байта целого числа и не конвертируете его в текст. Это дает преимущество в экономии места.
Если вы откроете такой файл с помощью блокнота, вы увидите только случайные символы.

0 голосов
/ 19 декабря 2008

Из полноты я упомяну архаичный .ini формат , но я не могу представить, чтобы не записать данные плоского файла в XML или YAML, если это не удалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...