java中File,byte[],Object间的转换
来源:互联网 发布:二小姐脸型数据 南风 编辑:程序博客网 时间:2024/06/18 14:34
Java中File,byte[],Object间的转换
一、有两点需要注意:
1、Object 对象必须是可序列化对象 。
2、可序列化的 Object 对象都可以转换为一个磁盘文件;反过来则不一定成立,只有序列
化文件才可以转换为 Object 对象。
二、相关的转换方法:
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication2;
import java.io.BufferedOutputStream;
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.Serializable;
/**
*
* @author Dao
*/
public class Main
{
public static byte[] getBytesFromFile(File f)
{
if (f == null)
{
return null;
}
try
{
FileInputStream stream = new FileInputStream(f);
ByteArrayOutputStream out = new ByteArrayOutputStream(1000);
byte[] b = new byte[1000];
int n;
while ((n = stream.read(b)) != -1)
{
out.write(b, 0, n);
}
stream.close();
out.close();
return out.toByteArray();
}
catch (IOException e)
{
e.printStackTrace();
}
return null;
}
public static File getFileFromBytes(byte[] b, String outputFile)
{
BufferedOutputStream stream = null;
File file = null;
try
{
file = new File(outputFile);
FileOutputStream fstream = new FileOutputStream(file);
stream = new BufferedOutputStream(fstream);
stream.write(b);
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
if (stream != null)
{
try
{
stream.close();
}
catch (IOException e1)
{
e1.printStackTrace();
}
}
}
return file;
}
public static Object lcl_toObject(byte[] bytes)
{
Object obj = null;
try {
ByteArrayInputStream bis = new ByteArrayInputStream (bytes);
ObjectInputStream ois = new ObjectInputStream (bis);
obj = ois.readObject();
ois.close();
bis.close();
} catch (Exception ex) {
ex.printStackTrace();
}
return obj;
}
public static byte[] lcl_toByteArray(Objectobj)
{
byte[] bytes = null;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(obj);
oos.flush();
bytes = bos.toByteArray ();
oos.close();
bos.close();
} catch (Exception ex) {
ex.printStackTrace();
}
return bytes;
}
}
- Java中File,byte[],Object间的转换
- Java中File,byte[],Object间的转换
- java中File,byte[],Object间的转换
- Java中File,byte[],Object间的转换
- Java中File,byte[],Object间的转换
- Java中File,byte[],Object间的转换
- Java File,object,byte[]间转换
- java中byte(byte []), int的转换
- Java_File,byte[],Object间的转换
- c# object与byte[] 间的转换
- Java File和byte数据之间的转换
- File,byte,Object之间的相互转化
- Java中String和byte[]间的转换
- Java中String和byte[]间的转换浅析
- Java中String与byte[]的转换
- java 中 char 和 byte 的转换
- java中char和byte的转换
- Java中String与byte[]的转换
- 字节对齐算法
- 网络编程之同步,阻塞,异步,非阻塞
- 查看linux系统版本
- 用C#创建Windows服务(Windows Services)
- 自定义的弹出窗口/无菜单栏最大化窗口代码/
- java中File,byte[],Object间的转换
- ZOJ 1671 Walking Ant (BFS)
- 带有命名空间的xml添加属性和元素(c#.NET)
- 2011-8-11 19:50:53
- easyUI属性汇总
- google map自定义图层(带闪动和发光效果)
- Java 多线程与并发编程专题
- C++中get()和getline()的使用区别
- 在jsp中过滤器的用法(简单解决中文乱码问题)