Java: ArrayList, манипулирование строками и анализ - PullRequest
1 голос
/ 20 декабря 2011

Я пишу приложение, в котором хранятся ссылки на книги, журналы, сайты и так далее. Я имею в виду, я уже сделал больше всего.

Что мне нужно, так это предложение о том, как лучше всего реализовать вышеуказанные спецификации?

Какой формат текстового файла я должен использовать для хранения библиотеки? Не тип файла, а формат. Я использую простой текстовый файл на данный момент. Но планируем реализовать формат, как показано ниже.

<book><Art of Human Hacking><New York><2011><1>
<journal><Achieving Maximum Speed In 802.11n><London><2009><260-265>

1-й тег <book> и <journal> являются идентификатором типа. Я использовал ArrayList. Должен ли я использовать многомерный ArrayList и хранить каждый элемент, как показано ниже?

[[Art of Human Hacking,New York,2011,1][Achieving Maximum Speed In 802.11n,London,2009,260-265]]

Я использовал StringTokenizer и не могу различить пробелы. Как мне это исправить?

Я уже реализовал все функции, включая перечисление всех, перечисление уникальных, поиск, редактирование, удаление, добавление. Но все делается для содержания без пробелов.

1 Ответ

1 голос
/ 20 декабря 2011

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

Для совместимости и читабельности человеком CSV будет вашим лучшим выбором.Используйте существующий синтаксический анализатор CSV, чтобы получить правильный выход (не так сложно написать самостоятельно, но достаточно сложно оправдать использование существующего синтаксического анализатора, чтобы избежать ошибок).Google обнаружил: http://sourceforge.net/projects/javacsv/

Если редактирование человеком не является приоритетом, то JSON также является хорошим форматом (он удобен для чтения, но не так прост, как CSV, и не будет отображаться в Excel дляэкземпляр).

Затем у вас есть двоичные протоколы, такие как собственная сериализация Java или даже буферы протокола Google.Это может быть быстрее, но, очевидно, теряет способность просматривать хранилище данных и, вероятно, усложнит отладку.

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