2016-12-31 8 views
-1

Я создал RegistrationFrame для регистрации здесь, где пользователь ставит личную информацию о себе:Как поместить изображение в файл и в то же время в этот файл, я также хочу поместить данные String?

Registration Frame

Эта информация, из всех пользователей хранятся в файле (FileInput/OutputStream, ObjectInput/OutputStream являются используемый). После этого, когда пользователь LoggedIn (аутентификация пользователя)
все те личные данные о том, что пользователь будет отображаться в JTable так:

PersonalInfo_Table

Теперь я хочу добавить еще одну вещь, что, собственное фото пользователя так что, когда пользователь будет регистрировать себя, они также смогут добавить свою собственную фотографию. Итак, какой метод я должен использовать в своем RegistrationFrame (изображение RegistrationFrame, приведенное выше). И после входа в учетную запись пользователя эта фотография также должна отображаться в том же JTable (PersonalInfo_Table)?

+0

Не думаю, что можно сохранить изображение в файлах без изображений. –

+0

Я задал здесь два вопроса. И я не думаю, что мой первый вопрос неправильный. так что если вы не знаете ответа, то нормально, но plese не нажимайте down down @marshalcraft –

+0

Я не голосовал. –

ответ

0

Подробнее см. В спецификации файла .png.

Здесь я вставил перед IEND критический кусок anxillary chunk. Этот кусок не критичен, и если декодер не знает, как его декодировать, он будет безопасно его игнорировать. Кусок поля, которые мы заботимся о и для того, являются ...

4 bytes length (не включая 4 байта длины)

4 bytes type (Если вы сделаете третий байт в нижнем регистре символов ASCII это вынуждает кодек на игнорировать его (обеспечение безопасности))

n bytes (Текст для вашего сообщения).

Здесь кошка .png со встроенным текстом Hello I am a kitty. enter image description here

00 00 00 0E 74 45 58 74 48 65 6C 6C 6F 20 49 20 61 6D 20 6B 69 74 74 79 2E

....tEXtHello I am kitty.

, который легко разбирается с .png в виде текстового файла с помощью функции поиска для типа куска я создал tEXt (Не путайте с существующим типом ячейки с именем tEXT) в тексте или 74 45 58 74 в шестнадцатеричном формате. tExT, где 3-я буква является строчной буквой, гарантирует, что декодер игнорирует ее. Длина текста - 4 байта до того, как было найдено tEXt, и длина строки + 4 байта. Это зависит от вас, как вы хотите кодировать данные в строку.

Резюме

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

+0

thnqu ........ :) –