import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import org.jfree.util.Log;
/**
* Object 对象必须是可序列化对象 。 可序列化的 Object 对象都可以转换为一个磁盘文件;反过来则不一定成立,只有序列化文件才可以转换为
* Object 对象。
*
* @author fdc
*
*/
public class FileByteConvert {
public static byte[] fileToByteConvert(File imgFile) {
FileInputStream fis = null;
byte[] pData = new byte[(int) imgFile.length()];
try {
fis = new FileInputStream(imgFile);
fis.read(pData);
} catch (FileNotFoundException e) {
Log.info("文件没找到!" + e.getMessage());
} catch (IOException e) {
Log.info("读取文件出错!" + e.getMessage());
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
Log.info("关闭文件输入流出错!" + e.getMessage());
}
}
}
return pData;
}
public static File byteToFileConvert(byte[] byteArr, String outputFile) {
BufferedOutputStream stream = null;
File file = null;
try {
file = new File(outputFile);
FileOutputStream fstream = new FileOutputStream(file);
stream = new BufferedOutputStream(fstream);
stream.write(byteArr);
} catch (Exception e) {
Log.info("输出文件出错!" + e.getMessage());
} finally {
if (stream != null) {
try {
stream.close();
} catch (IOException e) {
Log.info("关闭文件输出流出错!" + e.getMessage());
}
}
}
return file;
}
public static Object byteToObjectConvert(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();
}
public static byte[] objectToBytesConvert(Serializable obj) throws Exception {
if (obj == null) {
return null;
}
ByteArrayOutputStream bo = new ByteArrayOutputStream();
ObjectOutputStream oo = new ObjectOutputStream(bo);
oo.writeObject(obj);
return bo.toByteArray();
}
}
分享到:
相关推荐
以上就是关于在Java、Python和C#中实现图像与字节数组互转的方法。在实际应用中,确保正确处理异常和资源管理是非常重要的。此外,选择正确的图像格式(如JPEG、PNG等)会影响转换后的文件大小和质量。在处理大量...
在数据库中存储byte数组通常使用BLOB(Binary Large Object)类型字段。这里以SQL Server为例,你可以创建一个包含图片字段的表,并使用ADO.NET的`SqlCommand`执行SQL语句进行插入操作: ```csharp using System...
然后,我们可以 new 出一个 UgvData 对象,调用其 toByteArray 方法,即可将这个对象转成 byte 数组。 方法 2:使用 JSON 我们都知道,字符串是可以转换为 byte 数组的。将一个对象转换为 JSON 字符串也很容易,...
在 MySQL 数据库中,BLOB(Binary Large OBject)是一种二进制大对象类型,常用于存储图像、音频、视频和其他类型的文件。然而,在实际应用中,我们经常需要将 BLOB 数据转换为文件,以便在客户端上进行处理和显示。...
public byte[] content; } ``` 在这个类中,我们定义了两个字段:`fileName`用于存储CSV文件的名称,`content`用于存储CSV内容的字节数组。 接下来,我们需要编写打包函数,将CSV数据转换为ScriptableObject并...
在数据库开发中,存储图像数据时通常有两种方式:CLOB(Character Large Object)用于存储Base64编码的字符串,而BLOB(Binary Large Object)则用于存储原始的字节数据。尽管Base64编码可以使文本数据更容易处理,...
在Java编程中,数据存储和传输常常涉及到不同类型的数据转换,特别是在数据库操作中,与二进制大数据相关的类型如`byte[]`(字节数组)和`Blob`(Binary Large Object)之间的转换尤为常见。本篇文章将详细讲解如何...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,我们可以使用`org.json`库或者Google的Gson库来解析和生成JSON。例如,使用Gson库: ```...
byte[] fileBytes = File.ReadAllBytes("path_to_your_file"); ``` 二、二进制流到文件转换 1. 使用`FileStream`类:有了二进制数据(如`byte[]`数组),我们可以创建一个新的`FileStream`对象,将这些数据写入到...
{ private static byte[] Key64 = { 42, 16, 93, 156, 78, 4, 218, 32 }; private static byte[] IV64 = { 55, 103, 246, 79, 36, 99, 167, 3 }; protected void Page_Load(object sender, EventArgs e) { } ...
private void button1_Click(object sender, EventArgs e) { string path = this.textBox1.Text; byte[] imgBytesIn = SaveImage(path); ShowImgByByte(imgBytesIn); //Parameters.Add(@Photo, SqlDbType.Binary...
在PowerBuilder中,二进制数据通常存储在Blob(Binary Large Object)类型的字段里。Blob字段可以容纳大量非结构化的数据,如图像、文档或任何其他类型的二进制数据。当我们需要从文件系统读取二进制文件并将其存储...
25. Jam Byte Code File (.jbc):卡纸字节代码文件,用于存储和交换卡纸字节代码数据。 26. Jam File (.jam):卡纸文件,用于描述数字电路的卡纸结构。 27. JTAG Indirect Configuration File (.jic):JTAG 间接...
XML(Extensible Markup Language)和JSON(JavaScript ...这个过程涉及到XML和JSON的互转、文件I/O以及压缩文件的处理,这些都是Java开发中常见的技能。理解并熟练掌握这些将有助于你处理各种数据交换和文件处理任务。
byte[] rawKeyData = Util.readFile(keyfile); // 从原始密钥数据创建DESKeySpec对象 Class classkeyspec=Class.forName(Util.getValue("keyspec")); Constructor constructor = classkeyspec.getConstructor(new...
C# 中的 BLOB(Binary Large OBject)读取操作是指从数据库中读取二进制数据的过程。BLOB 是一种二进制数据类型,用于存储大规模的二进制数据,如图片、音频、视频等。在 C# 中,我们可以使用 FileStream 对象来读取...
byte[] buffer = new byte[(int) (file.length() * 1)]; inputFile.read(buffer); inputFile.close(); ``` 接下来,我们需要将音频数据分包。这里可以设定一个固定大小(如180字节),然后用循环将`byte[]`数组分割...
在本文中,我们将深入探讨如何在Silverlight中将图片转换为byte数组,这对于在客户端与服务器之间传输图像数据至关重要。Silverlight是一种强大的富客户端技术,它允许开发人员创建丰富的交互式用户界面,但其与...
MyClass newObj = JsonConvert.DeserializeObject(json); // 反序列化 ``` JSON序列化的优势在于其可读性,并且许多现代Web服务都支持JSON格式。然而,二进制序列化通常更节省空间和时间,但不那么直观。 总结,...