2010-09-18 5 views
0

Я уже нахожусь в разработке настольного приложения, использующего netbeans (приложение Java Dextop), и мне нужно реализовать собственный формат файла, специфичный только для этого приложения. Я совершенно не знаю, как мне идти первым. Какой код следует использовать, чтобы мое приложение Java прочитало этот файл и откройте его так, как я хочу.создание собственного расширения файла

+0

Какой тип/тип данных вам необходимо сохранить? – dime

ответ

4

Если это персональные данные, используйте Reader/Writer. Если это двоичные данные, используйте InputStream/OutputStream. Вот и все. Они доступны в нескольких вариантах, например BufferdReader, что облегчает чтение текстового файла по строкам и так далее.

Они являются частью API Java IO. Начните изучать его здесь: Java IO tutorial.

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

0

Я не уверен, что это напрямую касается вашего вопроса, но поскольку вы упомянули пользовательский формат файла, стоит отметить, что приложения, запущенные с использованием Java Web Start, могут объявлять ассоциацию файлов. Если пользователь дважды нажимает на один из этих типов файлов, имя файла будет передано основному (String []) приложения.

Эта способность используется в File Service demo. of the JNLP API - доступна на моем сайте.

Что касается точного формата файла &, то наилучшие способы его загрузки и сохранения, есть множество возможностей, которые можно сузить с более подробной информацией о содержащейся в нем информации.

0

Выбор нового/существующего расширения файла не влияет на ваше приложение (или, в любом случае, на кого-либо). До программиста, какие файлы он хочет прочитать в своем приложении.

Например, вы можете подумать, что вы не можете читать pdf или doc непосредственно в виде текстового файла ... но это не потому, что они написаны/сохранены по-разному, а потому, что у них есть заголовки или символы, которые ваше приложение не понимает. Таким образом, мы можем использовать плагин или расширение, которое понимает те добавленные заголовки (или, скорее, грамматику файла pdf/doc), удаляет их. & позволяет нашему приложению узнать, какой текст (или что-то еще) он содержит.

Поэтому, если вы хотите использовать собственное расширение, & особо не хочет, чтобы другое приложение не могло его читать, просто напишите текст так, чтобы его могла понять только ваша программа. Хотя запись файла в двоичном формате в значительной степени гарантирует, что ваш файл не будет читаться напрямую, только при открытии файла пользователем, но, тем не менее, все же можно прочитать его, если это всего лишь коллекция необработанных символов.

Если вы запросите код для скрытия данных, я бы сказал, что есть много алгоритмов, которые вы можете использовать, которые обычно помечены как шифрование, потому что вы в основном пытаетесь заблокировать/скрыть свои вещи. Так что, если вы не заботитесь о большой халла-булле, просто пытаясь сохранить файл от прямого чтения & успешные попытки прочитать файл не навредят вашему приложению, напишите его в двоичном формате.

+0

Хорошая коллекция слов там, но где значение? – cHao

+0

Я считаю, что он сказал, что он на пути к созданию приложения, вероятно, создавая впечатление, что он начинает начинать все. Наверное, моя попытка (возможно, неудавшаяся) позволила ему понять, почему расширения имеют значение или нет. – loxxy

+0

Пользовательский формат файла, по-видимому, уже определен как способ делать вещи. В пользовательских форматах файлов обычно должны быть настраиваемые расширения, IMO. Не было никакого упоминания о содержании, которое только * доступно * для этого приложения; скорее, подразумевалось, что данные (находящиеся в пользовательском формате) будут * поняты * только приложением - и, вероятно, что расширение формата должно быть зарегистрировано каким-то образом, чтобы ОС узнала, чтобы передавать запросы для этих файлов к приложению. – cHao

Смежные вопросы