All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ikasoa.rpc.utils.StreamUtil Maven / Gradle / Ivy

There is a newer version: 0.3.3-BETA3
Show newest version
package com.ikasoa.rpc.utils;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

import lombok.SneakyThrows;

/**
 * 流处理工具
 * 
 * @author Larry
 * @version 0.1
 */
public class StreamUtil {

	@SneakyThrows
	public static byte[] inputStreamToBytes(InputStream is) {
		try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
			int i;
			while ((i = is.read()) != -1)
				baos.write(i);
			return baos.toByteArray();
		}
	}

	public static InputStream bytesToInputStream(byte[] bytes) {
		return new ByteArrayInputStream(bytes);
	}

	@SneakyThrows
	public static byte[] objectToBytes(Object obj) {
		byte[] bytes = null;
		try (ByteArrayOutputStream bos = new ByteArrayOutputStream();
				ObjectOutputStream oos = new ObjectOutputStream(bos)) {
			oos.writeObject(obj);
			oos.flush();
			bytes = bos.toByteArray();
		}
		return bytes;
	}

	@SneakyThrows
	public static Object bytesToObject(byte[] bytes) {
		Object obj = null;
		try (ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
				ObjectInputStream ois = new ObjectInputStream(bis)) {
			obj = ois.readObject();
		}
		return obj;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy