`
laodaobazi
  • 浏览: 273109 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

压缩、解压Java对象

    博客分类:
  • Java
阅读更多

1将Java对象压缩到文件:

import java.io.FileOutputStream;
import java.io.File;
import java.io.ObjectOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream;

public class ZipObject {
    public static void main(String[] args) {
    	User Jlee = new User();
    	Jlee.setId(new Long(1));
    	Jlee.setUsername("JLee");
    	Jlee.setPassword("111");

        User user = new User();
        user.setId(new Long(2));
        user.setUsername("用户");
        user.setPassword("123");

        System.out.println("压缩中...");
        
        try {
            FileOutputStream fos = new FileOutputStream(new File("user.dat"));
            GZIPOutputStream gos = new GZIPOutputStream(fos);
            ObjectOutputStream oos = new ObjectOutputStream(gos);

            //存入两个Java对象
            oos.writeInt(2) ;
            //将Java对象压缩到文件
            oos.writeObject(Jlee);
            oos.writeObject(user);

            oos.flush();
            oos.close();

            gos.close();
            fos.close();
            
            System.out.println("压缩中结束");
        } catch (IOException e) {
        	System.out.println("压缩失败");
            e.printStackTrace();
        }
    }
}

 

 

2将Java对象从文件中读取出来

import java.io.FileInputStream;
import java.io.File;
import java.io.ObjectInputStream;
import java.io.IOException;
import java.util.zip.GZIPInputStream;


public class UnzipObject {
    public static void main(String[] args) {

        try {
            FileInputStream fis = new FileInputStream(new File("user.dat"));
            GZIPInputStream gis = new GZIPInputStream(fis);
            ObjectInputStream ois = new ObjectInputStream(gis);

            System.out.println("解压中...");
            
            //读取存入Java对象的数目
            int count = ois.readInt() ;
            for(int i=0;i<count;i++){
            	//从文件中读取对象
            	User Jlee = (User) ois.readObject();
            	System.out.println(Jlee);
            }

            ois.close();
            gis.close();
            fis.close();
            
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

    }
}

 

 

 

用到的User类

import java.io.Serializable;

public class User implements Serializable {        

	private static final long serialVersionUID = 5968179219405462308L;
	
	private Long id;
    private String username;
    private String password;

    public User() {
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    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 toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("id=").append(id);
        sb.append("; username=").append(username);
        sb.append("; password=").append(password);
        return sb.toString();
    }
}

 

1
1
分享到:
评论

相关推荐

    java将文件夹压缩成zip,解压zip压缩包

    java控制指定路径下的文件夹压缩成zip格式。 java将zip压缩包解压成为文件夹。直接使用io流进行操作,不需借助其他jar包

    使用Java向服务器上传文件压缩包并实现解压缩

    使用Java远程上传压缩包到服务器,或者在服务器上拉去压缩包或者文件,在服务器上创建目录。

    超轻量压缩传输js2java rpc框架(XtZPStream v1.0)

    3、自动压缩、解压传递的数据:调用过程中传递的数据自动进行压缩传输,后台自动解压, 然后转换为Map给开发人员;因此从一定层面上保护、加密了传输的数据 4、JS回调函数中能够接收java返回的复杂对象:java中可以...

    java源码包---java 源码 大量 实例

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    quickunzip:用Java编写的快速并行解压缩

    ( ZipFile对象具有同步方法,因此每个线程需要一个实例来进行并行解压缩。) QuickUnzip可能是使用标准Java ZipFile API可以编写的最快的解压缩程序-在解压缩Eclipse Java开发发行版zipfile(Core i7-4702HQ CPU ...

    Java实现的zip压缩及解压缩工具类示例

    主要介绍了Java实现的zip压缩及解压缩工具类,结合实例形式分析了java对文件的进行zip压缩及解压缩的具体操作技巧,需要的朋友可以参考下

    java源码包4

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    java源码包3

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    JAVA上百实例源码以及开源项目

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    JAVA上百实例源码以及开源项目源代码

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    java源码包2

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存...

    java把文档对象转为html

    解压后,把.dll文件放到C:\Windows\System32目录下,把jar文件放到项目中,压缩把中已有测试代码,经过本人测试,完美达到想要的目的

    org.apache.tools.zip解决解压乱码问题

    * @param file 文件对象 * @param relativePath 相对路径 * @throws IOException * void */ private static void zipFile(ZipOutputStream zos, File file, String relativePath) throws IOException...

    2.Java面向对象.rar

    本文档为压缩文档 里面有所有章节 的ppt 以及各个单元的代码 本文档只需要解压即可使用

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存...

    JAVA实现GUI文件管理器

    运用面向对象程序设计思想,基于Java文件管理和I/O框架,实现基于图形界面的GUI文件管理器。 1、实现文件夹创建、删除、进入。 2、实现当前文件夹下的内容罗列。 3、实现文件拷贝和文件夹拷贝(文件夹拷贝指深度拷贝...

    GUI文件管理(java)

    运用面向对象程序设计思想,基于Java文件管理和I/O框架,实现基于图形界面的GUI文件管理器。 二、实验项目内容 1、实现文件夹创建、删除、进入。 2、实现当前文件夹下的内容罗列。 3、实现文件拷贝和文件夹拷贝...

    Java提取压缩包中的文件.rar

    Java提取压缩包中的文件,文件操作的范畴,操作对象为ZIP格式的压缩文件,将从ZIP中提取出BMP图像文件,要将从压缩包中提取文件,必须先解压压缩包,然后将指定文件拷贝出来,代码中先实现了对zip文件的解压,然后...

Global site tag (gtag.js) - Google Analytics