我创建了一个RegistrationFrame 在这里注册用户提供自己的个人信息:
所有用户的信息都存储在一个文件中(使用FileInput / OutputStream,ObjectInput / OutputStream)。之后用户LoggedIn(用户身份验证)
关于该用户的所有个人信息将显示在这样的JTable中:
现在我想补充一点,那就是用户自己的照片,这样当用户自己注册时,他们也可以添加自己的照片。那么我应该在我的RegistrationFrame(上面给出的RegistrationFrame图像)中使用什么方法..并且在登录用户的帐户后,该照片也应该显示在同一个JTable(PersonalInfo_Table)中?
答案 0 :(得分:0)
有关详细信息,请参阅.png
文件规范。
我已经在IEND
关键字块anxillary chunk
之前插入了。这个块是非关键的,如果解码器不知道如何解码它,它将安全地忽略它。我们关心和按顺序的块区域是......
4 bytes length
(不包括4个字节的长度)
4 bytes type
(如果您将第三个字节设为小写ASCII字符,则会强制编解码器忽略它(确保安全))
n bytes
(短信的文字)。
这是一个带有嵌入文字Hello I am a kitty.
的cat .png
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.
通过在文本或tEXt
中搜索我创建的tEXT
(不与名为74 45 58 74
的现有块类型混淆)的块类型,可以很容易地从.png解析为文本文件十六进制其中第三个字母为小写的tExT
确保解码器忽略它。在找到tEXt
之前,文本的长度是4个字节,并且是字符串的长度+ 4个字节。由您决定如何将数据编码为字符串。
摘要
所以.png
是一个很好的媒介,可以安全地将图像和一些文本存储在一个便携式文件中。可能还有其他文件格式和方法。如果您认为与两个单独的文件相比,将文本编码/解码到您的时间是值得的。