`

Java中文件与字节数组转换

阅读更多

package test.test;

import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileBytesConvert {

 /**
  * @param args
  */
 public static void main(String[] args) {
  String fileName = "D:\\windows\\Win7_027.jpg";
//  String fileName = "D:\\ssotest.sql";
  File file = new File(fileName);
  byte[] ret = getBytesFromFile(file);
 /* for (byte b : ret) {
   System.out.print(b + " ");
  }*/
  
  getFileFromBytes(ret,"D:\\windows\\file01.jpg");
  
 }

 /**
  * 文件转化为字节数组
  *
  * @param file
  * @return
  */
 public static byte[] getBytesFromFile(File file) {
  byte[] ret = null;
  try {
   if (file == null) {
    // log.error("helper:the file is null!");
    return null;
   }
   FileInputStream in = new FileInputStream(file);
   ByteArrayOutputStream out = new ByteArrayOutputStream(4096);
   byte[] b = new byte[4096];
   int n;
   while ((n = in.read(b)) != -1) {
    out.write(b, 0, n);
   }
   in.close();
   out.close();
   ret = out.toByteArray();
  } catch (IOException e) {
   // log.error("helper:get bytes from file process error!");
   e.printStackTrace();
  }
  return ret;
 }

 /**
  * 把字节数组保存为一个文件
  *
  * @param b
  * @param outputFile
  * @return
  */
 public static File getFileFromBytes(byte[] b, String outputFile) {
  File ret = null;
  BufferedOutputStream stream = null;
  try {
   ret = new File(outputFile);
   FileOutputStream fstream = new FileOutputStream(ret);
   stream = new BufferedOutputStream(fstream);
   stream.write(b);
  } catch (Exception e) {
   // log.error("helper:get file from byte process error!");
   e.printStackTrace();
  } finally {
   if (stream != null) {
    try {
     stream.close();
    } catch (IOException e) {
     // log.error("helper:get file from byte process error!");
     e.printStackTrace();
    }
   }
  }
  return ret;
 }

}

0
0
分享到:
评论

相关推荐

    java实现的字节数组转换成基本类型,基本类型转换成byte[]

    char short int long float double 转换成byte数组

    Java字节数组与常见类型转换工具

    Java字节数组与常见类型转换工具,包括byte[] 与int long double float string boolean 等类型的相互转换。

    字节数组流byte文件

    不过,通常的处理流程是将这些二进制数据读取到内存中,形成一个字节数组流(byte[]),然后可以利用各种库如nodejs中的Buffer类或Java中的ByteBuffer类来对这些数据进行读取、写入和转换。 在技术实现上,如果我们...

    JAVA二进制字节数组字符十六进制BCD编码转换.doc

    - 示例中的`hexStringToByte()`方法将十六进制字符串转换为字节数组,而`bytesToHexString()`则将字节数组转换为十六进制字符串。 2. **字节数组** - 字节数组在Java中用`byte[]`表示,它可以存储任意字节值,常...

    java基本类型与byte数组互相转换.pdf

    Java 中的基本类型与 byte 数组之间的转换是非常重要的,以下是关于 Java 基本类型与 byte 数组互相转换的相关知识点: 1. short 类型转换成 byte 数组 在 Java 中,short 类型是 16 位的整数类型,而 byte 数组是...

    图片文件与Base64编码字节数组字符串互转

    在IT领域,尤其是在Web开发中,图片文件与Base64编码字节数组字符串的转换是一种常见的操作。这种转换在不直接使用图片文件路径或URL,而是将图片数据嵌入到HTML、CSS或JavaScript中时非常有用。下面我们将详细探讨...

    Java 将文件转为字节数组知识总结及实例详解

    在Java编程中,有时我们需要将文件转换为字节数组,以便进行数据传输、存储或者进一步处理。这个过程涉及到文件I/O操作,主要包括文件输入流(FileInputStream)和字节数组输出流(ByteArrayOutputStream)。下面...

    android byte字节数组转换十六进制字符串

    总结,Android中将字节数组转换为十六进制字符串的方法多种多样,可以根据项目需求和性能要求选择合适的方式。在开发过程中,了解并熟练掌握这些转换技巧,可以帮助我们更好地处理二进制数据,提升代码的可读性和可...

    java二进制,字节数组,字符,十六进制,BCD编码转换

    /* java二进制,字节数组,字符,十六进制,BCD编码转换2007-06-07 00:17/** *//** * 把16进制字符串转换成字节数组 * @param hex * @return */

    String(含Hex)与Byte数组互相转换[代码]

    在Java或类似的编程语言中,我们经常会遇到需要将字符串(String)与字节数组(Byte[])以及十六进制表示的字符串(Hex)进行相互转换的情况。这些转换在处理网络通信、文件存储、加密解密等领域尤为关键。下面我们...

    php字符串与byte字节数组转化类.zip

    介绍php字符串与byte字节数组转化类,转换一个String字符串为byte数组,将字节数组转化为String类型的数据,转换一个int为byte数组,从字节数组中指定的位置读取一个Integer类型的数据,转换一个shor字符串为byte...

    java中两个byte数组实现合并的示例

    在Java编程语言中,有时我们需要将两个或多个字节数组(`byte`数组)合并成一个新的单一数组。这种情况在处理二进制数据、文件读写或者与硬件交互时尤其常见。本文将深入探讨如何在Java中实现两个`byte`数组的合并,...

    Java数值类型与byte数组相互转换

    Java bytes数组与基本类型的相互转换 Int -> Bytes int64ToByte8 int48ToByte6 int40ToByte5 int32ToByte4 int24ToByte3 int16ToByte2 int8ToByte Bytes -> Int bytesToInt64 bytesToInt48 bytesToInt40 bytesTo...

    java 16进制表示的字符串转换为字节数组 工具类

    /** * 16进制表示的字符串转换为字节数组 * @param hexString 16进制表示的字符串 * @return byte[] 字节数组 */ public static byte[] hexStringToByteArray(String hexString) { hexString = hexString.replaceAll...

    JAVA作业三字节数组转化.docx

    在Java编程语言中,字节数组(byte array)和基本数据类型如int之间的转换是常见的操作,特别是在处理网络通信、文件存储或者序列化时。本篇内容将详细讲解如何在Java中进行这两种类型的转化。 首先,我们来看如何...

    Java byte数组与其他类型转换

    在实际应用中,例如在Java的NIO(非阻塞I/O)中,`java.nio.Bits`和`HeapByteBuffer`类提供了更高级别的接口来执行这些转换,它们可以更方便地处理字节数组与其他类型之间的转换,并且支持缓冲区的读写操作,使得...

    Java将图片转换为byte数组例子总结

    通过上述两个方法,我们可以很容易地在Java程序中完成图片与字节数组之间的转换。这些方法在实际应用中非常实用,尤其是在处理大量图像数据时。需要注意的是,在处理图像时要确保资源得到妥善管理,避免内存泄漏等...

    java中进制转换(二进制,十进制,十六进制)及字节数组与十六进制的转换

    本篇将详细阐述如何在Java中进行二进制、十进制和十六进制之间的转换,以及字节数组与十六进制字符串的相互转换。 一、进制转换 1. **二进制转十进制**:Java中可以使用`Integer.parseInt()`或`Long.parseLong()`...

    JAVA转byte[]为int,long,double

    在Java编程语言中,将`byte[]`数组转换为`int`, `long`, 和 `double`类型的数据是一项常见的任务,特别是在处理二进制数据或网络通信时。以下将详细讲解如何进行这些转换,并提供相关代码示例。 1. **转换byte[]到...

Global site tag (gtag.js) - Google Analytics