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

您的位置:首頁技術文章
文章詳情頁

JAVA對象和字節數組互轉操作

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

0x01 創建要轉換的類和主函數

注意這里一定要實現序列化

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

0x02 對象和字節數組互轉

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對象轉字節數組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 ('字節數組還原對象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; }}

運行結果

java class對象轉字節數組

-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,

字節數組還原對象

test

補充知識:java對象與byte[]數組之間的相互轉化,壓縮解壓縮操作

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

首先我們創建一個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對象的轉換: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數組 byte[] personByteArray = bos.toByteArray(); System.out.println('before compress:'+personByteArray.length); //將byte數據壓縮 byte[] zipPersonByteArray = compress(personByteArray); System.out.println('after compress:'+zipPersonByteArray.length); closeStream(oos); closeStream(bos); //從byte數組中還原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數組中還原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 關閉數據流 * @param oStream * */ public static void closeStream(Closeable oStream){ if(null!=oStream){ try {oStream.close(); } catch (IOException e) {oStream=null;//賦值為null,等待垃圾回收e.printStackTrace(); } } } /** * * @description 將byte 數組壓縮 * @param bt * @return */ public static byte[] compress(byte[] bt){ //將byte數據讀入文件流 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數組 * @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[]數據的轉化;

byte[]數據的壓縮和解壓縮操作;

byte[]數據還原java對象的操作;

運行結果:

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對象和字節數組互轉操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品成人一区| 蜜桃视频一区二区三区| 蜜臀精品久久久久久蜜臀 | 日韩福利视频一区| 美女精品在线| 美女精品在线| 1024精品一区二区三区| 日韩天堂在线| 99热国内精品| 激情五月色综合国产精品| 久久亚洲国产| 欧美.日韩.国产.一区.二区| 久久精品电影| 亚洲第一精品影视| 亚州av乱码久久精品蜜桃| 日韩激情中文字幕| 国产午夜一区| 麻豆精品在线| 涩涩av在线| 欧美日韩免费观看视频| 久久九九精品| 久久国产中文字幕| 红桃视频欧美| 亚洲精品美女91| 国产伦精品一区二区三区千人斩| 麻豆国产一区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 免费在线观看一区二区三区| 亚洲视频电影在线| 国产日韩欧美| 国产suv精品一区| 日韩欧美三级| 亚洲专区欧美专区| 欧美日韩精品一区二区三区在线观看| 国产精品s色| 91精品一区国产高清在线gif| 中文国产一区| 国产精品午夜一区二区三区| 国产福利电影在线播放| 亚洲成人一区| 视频一区二区国产| 亚洲香蕉久久| 国产精久久久| 久久99久久人婷婷精品综合| 麻豆精品视频在线观看| 久久精品国产在热久久| 国产精久久久| 亚洲午夜天堂| 日韩在线观看| 1000部精品久久久久久久久| 亚洲欧美日韩国产综合精品二区 | 高潮久久久久久久久久久久久久| 热久久国产精品| 视频一区二区中文字幕| 亚洲精品乱码| 高清久久一区| 亚洲深深色噜噜狠狠爱网站| 国产精品一区二区三区www| 久久99影视| 婷婷激情一区| 天堂精品久久久久| 久久精品一区二区国产| 91久久亚洲| 欧美天堂一区二区| 欧美日韩午夜| 一本一道久久a久久| 国产精品igao视频网网址不卡日韩| 免费看av不卡| 91久久中文| 久久精品国产久精国产| 黄色aa久久| 欧美在线观看视频一区| 97成人在线| 欧美黄色一区| 国产一区日韩一区| 91麻豆精品| 日韩av在线中文字幕| 激情欧美一区二区三区| 亚洲综合激情在线| 欧美好骚综合网| 免费看黄色91| 97精品国产福利一区二区三区| 日韩午夜在线| 久久麻豆视频| 91国内精品| 岛国精品一区| 激情综合网五月| 精品视频网站| 国产精品99一区二区| 日本成人精品| 国产精品呻吟| 福利视频一区| 日本va欧美va精品发布| 视频一区视频二区在线观看| 日韩精品福利一区二区三区| 首页亚洲欧美制服丝腿| 日韩欧美一区二区三区免费观看| 亚洲视频电影在线| 美女国产一区| 亚洲资源网站| 午夜在线精品偷拍| 91九色精品| 久久狠狠久久| 国产资源在线观看入口av| 亚洲精华国产欧美| 国产精品丝袜在线播放| 久久久久国产一区二区| 国产一区二区三区视频在线| 久久精品国内一区二区三区水蜜桃| 日韩精品免费视频人成| 国产一区久久| 中文字幕在线视频久| 四虎精品一区二区免费| 香蕉国产精品| 日韩高清电影免费| 欧美中文日韩| 99成人超碰| 亚洲综合在线电影| 国产亚洲电影| 日韩国产精品久久久久久亚洲| 九九综合九九| 四虎4545www国产精品| 久久精品福利| 久久香蕉网站| 欧美亚洲一区二区三区| 日本亚洲三级在线| 快she精品国产999| 先锋影音国产一区| 99tv成人| 好吊日精品视频| 国产精品美女久久久| 91久久在线| 日韩精品一二三四| 中文字幕成在线观看| 欧美日本久久| 日韩成人精品一区二区三区| 国产精品国产三级国产在线观看| 日韩在线一区二区| 女同性一区二区三区人了人一| 久久国产欧美日韩精品| 国产精品婷婷| 欧美日韩中文字幕一区二区三区| 国产免费久久| 亚洲综合激情在线| 日韩专区在线视频| 亚洲欧美日韩在线观看a三区| 日韩精品一级中文字幕精品视频免费观看| 午夜亚洲福利在线老司机| 中文字幕免费一区二区| 美腿丝袜亚洲一区| 国产欧美日韩精品一区二区三区| 欧美永久精品| 国产精品1区| 精品国产鲁一鲁****| 国产精品yjizz视频网| 精品国产99| 成人午夜精品| 国产精品福利在线观看播放| 亚洲天堂资源| 夜久久久久久| 国产精品人人爽人人做我的可爱| 视频一区国产视频| 久久精品99国产国产精| 国产成人免费精品| 国产精品777777在线播放| 蜜桃精品在线| 四虎精品一区二区免费| 免费看久久久| 国产亚洲在线观看| 亚洲精品综合| 91精品国产自产在线观看永久∴| 一区二区精彩视频| 福利一区二区免费视频 | 欧美黄色精品| 亚洲精品乱码久久久久久蜜桃麻豆| 一区二区三区国产盗摄| 欧美亚洲日本精品| 亚洲v天堂v手机在线| 99久久久久国产精品| 国产精品毛片久久久| 一区福利视频| 精品三级av| 极品av在线| 在线日韩成人| 国产精品不卡| 国产激情久久| 国产日产精品_国产精品毛片 | 欧产日产国产精品视频| 99在线精品视频在线观看| 成人在线视频区| 国产欧美69| 亚洲三级观看| 国产毛片久久| 好看的av在线不卡观看| 久久久亚洲一区| 日韩三区在线| 亚洲香蕉网站| 中文字幕在线高清| 精品美女视频 | 麻豆网站免费在线观看|