JAVA实现内存对象和字符串的互转(非BASE64和json)

本文介绍了在不使用BASE64和JSON的情况下,如何使用JAVA将内存对象转换为字符串,以便在如cookie、Redis缓存等场景中保存和传递。通过获取对象的字节数组并转化为ISO-8859-1字符数组,实现字符串化。同时提供了对象和字符串、图像和字符串之间的转换代码,特别适用于存储图像等非结构化数据。
摘要由CSDN通过智能技术生成

JAVA实现内存对象和字符串的互转(非BASE64和json)

在很多地方,我们仍然需要纯字符串来进行数据的保存和传递、例如cookie、radis缓存等、这时如何将对象保存为对应的字符串形式就迫切需要了。有人可能会说用json就可以了,但我如果要存张图片呢?

思路如下

  1. 获得内存对象的字节数组
  2. 将其重组为ISO-8859-1标准字符集的字符数组,刚好都是一一对应的
  3. 这个字符串想保存在哪里都可以,文件、缓存等。
  4. 使用时需将字符串读入
  5. 再将字符串转成字节数组
  6. 再将字节数组还原为对象

开撕代码,注释比较明确,自己看吧。已经实现了对象(需实现序列化接口)和字符串互转、图像和字符串互转。


import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

/**
 * @author TeacherXue
 * @date 2018年5月17日 下午5:13:01
 * @file com.issCollege.shop.entity ObjToStr.java
 * @version V1.0
 */
public class ObjToStr {
   
    /**
     * 测试用主方法
     * @param args
     */
    public static void main(String[] args) {
        List<String> ls=new ArrayList<String>();
   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值