日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

JAVA對象和字節(jié)數(shù)組互轉(zhuǎn)操作

瀏覽:15日期:2022-08-26 10:10:06

0x01 創(chuàng)建要轉(zhuǎn)換的類和主函數(shù)

注意這里一定要實現(xiàn)序列化

package day1; import java.io.Serializable; public class Test360 implements Serializable { @Override public String toString() {return 'Test360{' + 'name=’' + name + ’’’ + ’}’; } String name='test';}

0x02 對象和字節(jié)數(shù)組互轉(zhuǎn)

package day1; import sun.jvm.hotspot.utilities.Assert; import java.io.*; public class arreytobytes { public static void main(String[] args) throws Exception { Test360 test =new Test360(); System.out.print ( 'java class對象轉(zhuǎn)字節(jié)數(shù)組n' ); byte[] bufobject = getBytesFromObject(test); for(int i=0 ; i<bufobject.length ; i++) { System.out.print(bufobject[i] + ','); } System.out.println ('n'); System.out.print ('字節(jié)數(shù)組還原對象n'); Object object1 = null; object1=deserialize(bufobject); Test360 t1 =(Test360)object1; System.out.println (t1.name); } public static byte[] getBytesFromObject(Serializable obj) throws Exception { if (obj == null) { return null; } ByteArrayOutputStream bo = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(bo); oos.writeObject(obj); return bo.toByteArray(); } public static Object deserialize(byte[] bytes) { Object object = null; try { ByteArrayInputStream bis = new ByteArrayInputStream(bytes);// ObjectInputStream ois = new ObjectInputStream(bis);object = ois.readObject(); ois.close(); bis.close(); } catch (IOException ex) { ex.printStackTrace(); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } return object; }}

運行結(jié)果

java class對象轉(zhuǎn)字節(jié)數(shù)組

-84,-19,0,5,115,114,0,12,100,97,121,49,46,84,101,115,116,51,54,48,76,-69,81,12,-51,122,126,-123,2,0,0,120,112,

字節(jié)數(shù)組還原對象

test

補(bǔ)充知識:java對象與byte[]數(shù)組之間的相互轉(zhuǎn)化,壓縮解壓縮操作

下面介紹一下java對象之間和byte[]數(shù)組之間的相互轉(zhuǎn)化。并對byte[]數(shù)據(jù)進(jìn)行壓縮操作。java對象轉(zhuǎn)化為byte[]數(shù)組可用于redis中實現(xiàn)緩存。(這里暫不做介紹).話不多說直接開實例:

首先我們創(chuàng)建一個java對象:Person.java

public class Person implements Serializable{ private String userName; private String password; private String phone; private String email; private String sex; private String age; public Person(){} public Person(String userName, String password, String phone, String email, String sex, String age) { super(); this.userName = userName; this.password = password; this.phone = phone; this.email = email; this.sex = sex; this.age = age; } @Override public String toString() { return 'Person [userName=' + userName + ', password=' + password+ ', phone=' + phone + ', email=' + email + ', sex=' + sex+ ', age=' + age + ']'; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAge() { return age; } public void setAge(String age) { this.age = age; }}

下面演示對person對象的轉(zhuǎn)換:Object2ByteArray.java

public class Object2ByteArray { public static void main(String[] args) { try { Person person=new Person('userName', 'password', 'phone', 'email', 'sex', 'age'); System.out.println('person:'+person); ByteArrayOutputStream bos=new ByteArrayOutputStream(); ObjectOutputStream oos=new ObjectOutputStream(bos); oos.writeObject(person); //得到person對象的byte數(shù)組 byte[] personByteArray = bos.toByteArray(); System.out.println('before compress:'+personByteArray.length); //將byte數(shù)據(jù)壓縮 byte[] zipPersonByteArray = compress(personByteArray); System.out.println('after compress:'+zipPersonByteArray.length); closeStream(oos); closeStream(bos); //從byte數(shù)組中還原person對象 ByteArrayInputStream bin=new ByteArrayInputStream(personByteArray); ObjectInputStream ois=new ObjectInputStream(bin); Person restorePerson = (Person) ois.readObject(); System.out.println(restorePerson); closeStream(ois); closeStream(bin); //從壓縮的byte數(shù)組中還原person對象 byte[] unCompressByte = unCompress(zipPersonByteArray); ByteArrayInputStream zipBin=new ByteArrayInputStream(unCompressByte); ObjectInputStream zipOis=new ObjectInputStream(zipBin); Person zipBytePerson=(Person) zipOis.readObject(); System.out.println('compress person:'+zipBytePerson.toString()); closeStream(zipOis); closeStream(zipBin); } catch (Exception e) { e.printStackTrace(); } } /** * * @description 關(guān)閉數(shù)據(jù)流 * @param oStream * */ public static void closeStream(Closeable oStream){ if(null!=oStream){ try {oStream.close(); } catch (IOException e) {oStream=null;//賦值為null,等待垃圾回收e.printStackTrace(); } } } /** * * @description 將byte 數(shù)組壓縮 * @param bt * @return */ public static byte[] compress(byte[] bt){ //將byte數(shù)據(jù)讀入文件流 ByteArrayOutputStream bos=null; GZIPOutputStream gzipos=null; try { bos=new ByteArrayOutputStream(); gzipos=new GZIPOutputStream(bos); gzipos.write(bt); } catch (Exception e) { e.printStackTrace(); }finally{ closeStream(gzipos); closeStream(bos); } return bos.toByteArray(); } /** * * @description 解壓縮byte數(shù)組 * @param bt * @return */ public static byte[] unCompress(byte[] bt){ //byte[] unCompress=null; ByteArrayOutputStream byteAos=null; ByteArrayInputStream byteArrayIn=null; GZIPInputStream gzipIn=null; try { byteArrayIn=new ByteArrayInputStream(bt); gzipIn=new GZIPInputStream(byteArrayIn); byteAos=new ByteArrayOutputStream(); byte[] b=new byte[4096]; int temp = -1; while((temp=gzipIn.read(b))>0){byteAos.write(b, 0, temp); } } catch (Exception e) { e.printStackTrace(); return null; }finally{ closeStream(byteAos); closeStream(gzipIn); closeStream(byteArrayIn); } return byteAos.toByteArray(); }}

上面的示例顯示了:java對象到byte[]數(shù)據(jù)的轉(zhuǎn)化;

byte[]數(shù)據(jù)的壓縮和解壓縮操作;

byte[]數(shù)據(jù)還原java對象的操作;

運行結(jié)果:

person:Person [userName=userName, password=password, phone=phone, email=email, sex=sex, age=age]before compress:189after compress:156Person [userName=userName, password=password, phone=phone, email=email, sex=sex, age=age]compress person:Person [userName=userName, password=password, phone=phone, email=email, sex=sex, age=age]

以上這篇JAVA對象和字節(jié)數(shù)組互轉(zhuǎn)操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品xx| 久久久久久色| 欧美亚洲tv| 日本a口亚洲| 久久久国产精品入口麻豆| 久久久久久一区二区| 欧美激情精品| 国产成人免费| 在线精品视频在线观看高清| 国产精品97| 日本亚洲最大的色成网站www| 国产精品白浆| 久久久久国产一区二区| 久久成人精品| 国产精品网在线观看| 成人看片网站| 蜜臀a∨国产成人精品| 日韩高清一区在线| 国产一区二区三区不卡av | 欧美一区=区| 欧美精品中文| 亚洲先锋成人| 国产精品久久久久久模特| 极品日韩av| 国产亚洲人成a在线v网站| 在线看片国产福利你懂的| 中文字幕亚洲精品乱码| 亚洲天堂资源| 奇米亚洲欧美| 亚洲综合丁香| 日韩欧美一区二区三区免费观看| 亚洲永久精品唐人导航网址| 日本一区二区免费高清| 亚洲一卡久久| 99久精品视频在线观看视频| 日韩国产欧美视频| 美女尤物久久精品| 精品捆绑调教一区二区三区| 国产精品对白| 日本va欧美va欧美va精品| 欧美日韩国产综合网| 福利视频一区| 国产精品v一区二区三区| 男女精品网站| 国产精品av一区二区| 日韩理论片av| 91青青国产在线观看精品| 老牛国内精品亚洲成av人片| 日韩一区二区三区四区五区| 黄色成人91| 午夜在线观看免费一区| 婷婷综合网站| 亚洲一区二区动漫| 亚洲第一区色| 在线免费观看亚洲| 日本成人在线不卡视频| av在线最新| 一级成人国产| 亚洲网址在线观看| 亚洲三级网站| 91综合久久爱com| 欧美日韩亚洲一区| 中文字幕av亚洲精品一部二部| 国产精品调教| 精品香蕉视频| 久久久水蜜桃av免费网站| 欧美另类综合| 亚洲欧美在线专区| 国产丝袜一区| 麻豆久久久久久| 欧美日韩精品免费观看视欧美高清免费大片| 91亚洲国产成人久久精品| 日本韩国欧美超级黄在线观看| 亚洲性视频h| 亚洲精品第一| 国产日产精品_国产精品毛片| 国产精品久久| 性感美女一区二区在线观看| 欧美日韩尤物久久| 国户精品久久久久久久久久久不卡| 鲁大师成人一区二区三区| 日韩高清欧美激情| 久久中文精品| 尤物tv在线精品| 蜜桃久久久久久| 国产精品欧美三级在线观看| 91中文字幕精品永久在线| 在线亚洲观看| 国产精品一区二区美女视频免费看 | 荡女精品导航| 亚洲午夜久久久久久尤物| 综合一区二区三区| 欧美日一区二区三区在线观看国产免| 久久一区精品| 久久大逼视频| 福利片在线一区二区| 一本色道精品久久一区二区三区| 88久久精品| 久久免费大视频| 国产精品亚洲欧美一级在线| 91精品一区二区三区综合在线爱| 欧美日韩三区| 免费在线播放第一区高清av| 亚州av乱码久久精品蜜桃| 国产亚洲高清在线观看| 久久婷婷一区| 精品中文在线| 人人爱人人干婷婷丁香亚洲| 亚洲午夜一级| 美女福利一区二区三区| 国产调教精品| 蜜桃av一区二区三区电影| 日产精品一区| 中文字幕高清在线播放| 国产精品宾馆| 欧美精品国产白浆久久久久| 亚洲精品亚洲人成在线观看| av资源亚洲| 精品亚洲成人| 国产精品激情电影| 国产调教精品| 日本午夜精品久久久久| 亚洲精品在线a| 综合国产视频| 日韩欧美中文在线观看| 日韩精品一二三| 噜噜噜久久亚洲精品国产品小说| 亚洲一级影院| 午夜欧美视频| 亚洲免费精品| 在线 亚洲欧美在线综合一区| 国产精品不卡| 国产白浆在线免费观看| 91亚洲国产成人久久精品| 精品精品国产三级a∨在线| 久久精品国产999大香线蕉| 久久精品一本| 日韩欧美一区二区三区免费观看| 日韩在线视频精品| 韩国精品主播一区二区在线观看 | 中文av在线全新| 桃色一区二区| 香蕉久久精品| 久久都是精品| 欧美日本精品| 成人综合一区| 婷婷激情图片久久| 日韩一二三区在线观看| 国产欧美日韩视频在线| 精品免费在线| 在线综合亚洲| 欧美交a欧美精品喷水| 日韩欧美精品综合| 在线精品视频一区| 精品国产欧美日韩| 成人精品天堂一区二区三区| 精品视频在线观看网站| 欧美成人国产| 国产精品乱战久久久| 久久婷婷久久| 色老板在线视频一区二区| 99国产精品私拍| 国产精品v一区二区三区| 欧美日韩四区| 麻豆国产精品777777在线| 亚洲综合不卡| 欧美黄色网页| 国产日产一区| 首页国产欧美久久| 欧美香蕉视频| 亚洲色图国产| 91精品蜜臀一区二区三区在线| 久久精品72免费观看| 久久久久蜜桃| 国产一区二区亚洲| 欧美日韩a区| 视频一区在线播放| 在线一区免费| 久久久久午夜电影| 精品一二三区| 国产精品探花在线观看| 免费在线观看成人| 欧美特黄视频| 久久黄色影院| 精精国产xxxx视频在线野外| 亚洲不卡视频| 只有精品亚洲| 免费在线欧美视频| 亚洲激情二区| 欧美成人日韩| 欧美午夜不卡| 9色精品在线| 99精品99| 国产毛片久久| 亚洲免费在线| 亚洲欧美日韩精品一区二区 | 成人在线观看免费视频| 亚洲日本欧美| 日本国产亚洲| 麻豆国产一区|