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

byte[] ,File ,Object 相互转换

    博客分类:
  • java
阅读更多

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;

public class Byte_File_Object ...{

    
/** *//**
     * 文件转化为字节数组
     * @Author Sean.guo
     * @EditTime 2007-8-13 上午11:45:28
     
*/

    
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) ...{
        }

        
return null;
    }


    
/** *//**
     * 把字节数组保存为一个文件
     * @Author Sean.guo
     * @EditTime 2007-8-13 上午11:45:56
     
*/

    
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;
    }


    
/** *//**
     * 从字节数组获取对象
     * @Author Sean.guo
     * @EditTime 2007-8-13 上午11:46:34
     
*/

    
public static Object getObjectFromBytes(byte[] objBytes) throws Exception ...{
        
if (objBytes == null || objBytes.length == 0...{
            
return null;
        }

        ByteArrayInputStream bi 
= new ByteArrayInputStream(objBytes);
        ObjectInputStream oi 
= new ObjectInputStream(bi);
        
return oi.readObject();
    }


    
/** *//**
     * 从对象获取一个字节数组
     * @Author Sean.guo
     * @EditTime 2007-8-13 上午11:46:56
     
*/

    
public static byte[] getBytesFromObject(Serializable obj) throws Exception ...{
        
if (obj == null...{
            
return null;
        }

        ByteArrayOutputStream bo 
= new ByteArrayOutputStream();
        ObjectOutputStream oo 
= new ObjectOutputStream(bo);
        oo.writeObject(obj);
        
return bo.toByteArray();
    }


}

分享到:
评论

相关推荐

    C# 图片转成byte存入,数据库读取byte转成图片的类

    在C#编程中,将图片转换为byte数组并存储到数据库,然后从数据库读取byte数组再还原为图片,是一种常见的处理方式。这种方式便于在不直接依赖文件系统的情况下管理和传输图像数据。以下是对这个主题的详细说明: 1....

    image与字节数组byte的互转

    本文将详细探讨如何在Java、Python和C#这三种常用编程语言中实现图像(Image)与字节数组(byte[])之间的相互转换。 **Java中的转换** 1. **Image转byte[]** 在Java中,我们可以使用`FileInputStream`读取图片...

    Java 类型相互转换byte[]类型,Blob类型详细介绍

    在Java编程中,数据存储和传输常常涉及到不同类型的数据转换,特别是在数据库操作中,与二进制大数据相关的类型如`byte[]`(字节数组)和`Blob`(Binary Large Object)之间的转换尤为常见。本篇文章将详细讲解如何...

    Unity3D教程:用ScriptableObject打包数据2

    接下来,我们需要编写打包函数,将CSV数据转换为ScriptableObject并打包。这通常在编辑器模式下完成,因此我们会使用Unity的`Editor`命名空间。以下是打包函数的代码片段: ```csharp using UnityEngine; using ...

    java对象转成byte数组的3种方法

    java 对象转换为 byte 数组的 3 种方法 在 Java 中,将对象转换为 byte 数组是一种常见的操作,特别是在使用 Netty 进行通信协议传输的场景中。那么,如何方便地将一个 Java 对象构造成一个 byte 数组呢? 方法 1...

    mysql blob to 向 file转换

    在 MySQL 数据库中,BLOB(Binary Large OBject)是一种二进制大对象类型,常用于存储图像、音频、视频和其他类型的文件。然而,在实际应用中,我们经常需要将 BLOB 数据转换为文件,以便在客户端上进行处理和显示。...

    C#中图片.BYTE[]和base64string的转换方法

    在C#编程中,处理图像数据时经常需要在不同的数据格式之间进行转换,例如将图片文件转换为字节数组(BYTE[])或Base64编码的字符串(base64string)。这种转换对于在网络上传输图像数据,或者在数据库中存储和检索图像...

    File工具类

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,我们可以使用`org.json`库或者Google的Gson库来解析和生成JSON。例如,使用Gson库: ```...

    C#实现把图片转换成二进制以及把二进制转换成图片的方法示例

    本文实例讲述了C#实现把图片转换成二进制以及把二进制转换成图片的方法。分享给大家供大家参考,具体如下: private void button1_Click(object sender, EventArgs e) { string path = this.textBox1.Text; byte...

    C#文件2进制流转换

    byte[] fileBytes = File.ReadAllBytes("path_to_your_file"); ``` 二、二进制流到文件转换 1. 使用`FileStream`类:有了二进制数据(如`byte[]`数组),我们可以创建一个新的`FileStream`对象,将这些数据写入到...

    pb_byte.rar_PowerBuilder_pb_pb二进制

    在PowerBuilder中,二进制数据通常存储在Blob(Binary Large Object)类型的字段里。Blob字段可以容纳大量非结构化的数据,如图像、文档或任何其他类型的二进制数据。当我们需要从文件系统读取二进制文件并将其存储...

    Silverlight将图片转换为byte的实现代码

    在本文中,我们将深入探讨如何在Silverlight中将图片转换为byte数组,这对于在客户端与服务器之间传输图像数据至关重要。Silverlight是一种强大的富客户端技术,它允许开发人员创建丰富的交互式用户界面,但其与...

    文件加密解密算法(Java源码)

    byte[] rawKeyData = Util.readFile(keyfile); // 从原始密钥数据创建DESKeySpec对象 Class classkeyspec=Class.forName(Util.getValue("keyspec")); Constructor constructor = classkeyspec.getConstructor(new...

    C#,BLOB读取操作

    4. 转换字符串:使用 Encoding.ASCII.GetString 方法可以将 byte 数组转换为字符串。 5. 写入文件:使用 FileStream 对象的 Write 方法可以将数据写入到文件中。在给定的代码中,使用 byte 数组将图片数据写入到一个...

    Quartus II工程文件的后缀含义.docx

    10. Conversion Setup File (.cof):转换设置文件,用于设置数字电路的转换参数。 11. Cross-Reference File (.xrf):交叉引用文件,用于描述数字电路中的交叉引用关系。 12. Database files (.cdb, .hdb, .rdb, ....

    java如何上传图片到数据库.pdf

    在本例中,我们将探讨如何在PostgreSQL数据库中处理这一过程,主要关注两种存储二进制数据的方法:使用`bytea`数据类型和使用大对象(Large Object)特性。 首先,PostgreSQL提供了`bytea`数据类型,用于在表中直接...

    IsoBuster Pro 2.3.0.1 - Final

    * Show GMT Offset when date-time is known for an IFO file object * Auto-recognition support for 2056 byte / block image files * Added IsoBuster path to DOS box PATH variable * SectorView via the ...

    java入门之io包

    try (InputStream fileObject = new FileInputStream("text.txt")) { int availableBytes = fileObject.available(); System.out.println("可读取的字节数:" + availableBytes); byte[] data = new byte...

    C# 读写二进制文件的一个示例

    byte[] buffer = new byte[fileSize]; // 从文件中读取数据 fileStream.Read(buffer, 0, (int)fileSize); // 打印读取到的数据 for (int i = 0; i < fileSize; i++) { Console.Write(buffer[i] + " "); ...

Global site tag (gtag.js) - Google Analytics