Как сохранить набор текстовых атрибутов в файл?

Я пишу базовый текстовый редактор и имею функциональные возможности, которые позволяют пользователю изменять шрифт и применять стили, например выделять его жирным шрифтом и т. д. Я делаю это, используя интерфейс AttributeSet и класс StyledContext, а также метод insertString(int offs, String str, AttributeSet a) метод в DefaultStyledDocument. Однако я сохраняю и снова открываю тот же файл (где текст был написан с помощью BufferedWriter), и все стили, которые я применил к тексту, больше не существуют. Есть ли другой способ записать дополнительную информацию о стиле и прочитать ее из файла .txt, если да, то как? Спасибо.


person Jonny Stewart    schedule 16.09.2013    source источник
comment
одним словом, ну инициализм, HTML.   -  person Boris the Spider    schedule 16.09.2013
comment
Акроним @BoristheSpider :).   -  person Cruncher    schedule 16.09.2013
comment
@Cruncher Строго говоря, это инициализация, поскольку вы произносите начальные буквы, а не произносите их как слово (как вы делаете с лазером). Однако это не высечено в камне.   -  person Boris the Spider    schedule 16.09.2013


Ответы (1)


Простой текстовый файл не сохранит вашу информацию о стиле. Одним из способов смешивания текста и инструкции по стилю является использование языка разметки, например HTML. Вы можете использовать известный язык разметки, такой как HTML, Markdown, LaTeX (есть много других) или создайте свой собственный. Например, вы можете создать простой язык разметки на основе XML, который удовлетворит ваши потребности.
Существует несколько текстовых редакторов Swing с открытым исходным кодом, на которые вы можете обратить внимание, например: JRichTextEditor.

Другой вариант — сохранить документ в двоичном формате, который будет включать инструкции по стилю.

person Dror Bereznitsky    schedule 16.09.2013