欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java 把二进制文件转化为字节数组 博客分类: Java javabytearray字节数组二进制 

程序员文章站 2024-02-24 18:46:58
...

在java 中,如何把二进制文件(如图片,ssl证书 )转化为字节数组呢?

代码如下:

@org.junit.Test
	public void test055() throws IOException {
		File inFile = new File("d:\\Chrysanthemum.jpg");
		FileInputStream fileInputStream = new FileInputStream(inFile);
		ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
		int i;
		//转化为字节数组流
		while ((i = fileInputStream.read()) != -1) {
			byteArrayOutputStream.write(i);
		}
		fileInputStream.close();
		// 把文件存在一个字节数组中
		byte[] filea = byteArrayOutputStream.toByteArray();

		byteArrayOutputStream.close();
		String encoding = "ISO-8859-1";
		String fileaString = new String(filea, encoding);
		System.out.println(fileaString);
		// 写入文件
		FileOutputStream fileOutputStream = new FileOutputStream("d:/b.png");
		fileOutputStream.write(fileaString.getBytes(encoding));
		fileOutputStream.flush();
		fileOutputStream.close();

	}

 注意:

(1)使用ByteArrayOutputStream 来把二进制流转化为字节数组流;

(2)把字节数组转化为String类型时,一定要使用ISO-8859-1编码;

String encoding = "ISO-8859-1";

String fileaString = new String(filea, encoding);

(3)通过字符串获取字节数组时,一定要使用ISO-8859-1编码:

fileOutputStream.write(fileaString.getBytes(encoding));