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;
}
}
分享到:
相关推荐
char short int long float double 转换成byte数组
Java字节数组与常见类型转换工具,包括byte[] 与int long double float string boolean 等类型的相互转换。
java基本类型与byte数组互相转换.pdf
JAVA二进制字节数组字符十六进制BCD编码转换
主要介绍了Java 将文件转为字节数组实例详解的相关资料,需要的朋友可以参考下
/* java二进制,字节数组,字符,十六进制,BCD编码转换2007-06-07 00:17/** *//** * 把16进制字符串转换成字节数组 * @param hex * @return */
介绍php字符串与byte字节数组转化类,转换一个String字符串为byte数组,将字节数组转化为String类型的数据,转换一个int为byte数组,从字节数组中指定的位置读取一个Integer类型的数据,转换一个shor字符串为byte...
Java bytes数组与基本类型的相互转换 Int -> Bytes int64ToByte8 int48ToByte6 int40ToByte5 int32ToByte4 int24ToByte3 int16ToByte2 int8ToByte Bytes -> Int bytesToInt64 bytesToInt48 bytesToInt40 bytesTo...
最近由于工作上的需要,遇到进制转换的问题。涉及到的进制主要是 十进制,十六进制,二进制中间的转换。还包括了一个字节数组 与十六进制字符串的互相转换。估计遇到蓝牙通信的朋友,应该用的上。
ip地址转4字节byte,char转2字节byte,byte数组转char,int整数转换为4字节的byte数组,byte数组转换为int整数,double类型转8字节数组,8位数组转double,long整数转换为8字节的byte数组,short整数转换为2字节的...
字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。 Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流...
可以将 Float、 Double、 与byte[]之间进行互换,从而可以在Java 的开发环境中实现C语言的Union 的功能! /** * 对数字和字节进行转换。 * 基础知识: * 假设数据存储是以大端模式存储的: * byte:...
分别给大家介绍了Java中byte和int之间的转换、Java中 byte数组和int之间的转换、Java中byte数组和long之间的转换以及整理了整体工具类的源码,需要的朋友可以参考借鉴,下面来一起看看吧。
下面小编就为大家带来一篇基于java中byte数组与int类型的转换(两种方法)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
* 从输入流读取数据为二进制字节数组. * @param streamIn * @return * @throws IOException */ public static byte[] readFileBinary(InputStream streamIn) throws IOException { BufferedInputStream...
下面小编就为大家带来一篇Java基本类型与byte数组之间相互转换方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
二进制数组转换为二进制字符串 将二进制数组转换为十六进制字符串 将十六进制转换为二进制字节数组 将十六进制转换为二进制字符串
同理,DotNET的unicode字节数组转换到JAVA字符串前,要调换高地位字节,之后带Unicode参数转为String,如new String(调换后的字节数组,"Unicode") Java小白琢磨了两天,总算搞出来了,下载的朋友有不懂的可以私信我...
支持任何形式的aes加密,文件,字符,字节等,内含php代码,可以与php平台实现aes加密,而且包含rsa非对称加密签名验签实现,都是对字节数组的加密解密,签名验签,支持多种形式的的,可以将待操作的对象转换成字节...
主要为大家详细介绍了java对象转成byte数组的3种方法,具有一定的参考价值,感兴趣的朋友可以参考一下