前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >其他流---字节数组流与文件流对接

其他流---字节数组流与文件流对接

作者头像
shimeath
发布2020-07-30 17:08:59
6520
发布2020-07-30 17:08:59
举报

byte[] ----> File

  1. 建立字节读入流 建立字节数组输出流
  2. 建立结果记录byte数组、中间byte数组、长度统计变量len
  3. 刷新流、将流转换到数组中
代码语言:javascript
复制
	public static byte[] getBytesFromFile(String src) throws IOException {
		InputStream is = new BufferedInputStream(new FileInputStream(src));
		ByteArrayOutputStream bos = new ByteArrayOutputStream();

		byte[] dest = null;

		byte[] flush = new byte[1024];
		int len = 0;

		while (-1 != (len = is.read(flush))) {
			bos.write(flush, 0, len);
		}
		bos.flush();
		dest = bos.toByteArray();

		return dest;
	}

File ----> byte[]

1.建立字节数组输入流 建立字节输出流 2. 建立结果记录byte数组、中间byte数组、长度统计变量len 3. 刷新流、将流转换到数组中

代码语言:javascript
复制
	public static void FileFromByteArray(byte[] src, String destPath) throws IOException {
		File dest = new File(destPath);
		InputStream is = new BufferedInputStream(new ByteArrayInputStream(src));
		OutputStream os = new BufferedOutputStream(new FileOutputStream(dest));
		int len = 0;
		byte[] flush = new byte[1024];
		while (-1 != (len = is.read(flush))) {
			os.write(flush, 0, len);
		}
		os.flush();
		os.close();
		is.close();

	}

完整代码如下

代码语言:javascript
复制
package cn.hxh.io.other;

import java.io.*;

public class ByteArrayDemo02 {

	public static void main(String[] args) throws IOException {
		FileFromByteArray(getBytesFromFile("D:/aa/a.txt") , "d:/aa/c.txt");
	}

	public static void FileFromByteArray(byte[] src, String destPath) throws IOException {
		File dest = new File(destPath);
		InputStream is = new BufferedInputStream(new ByteArrayInputStream(src));
		OutputStream os = new BufferedOutputStream(new FileOutputStream(dest));
		int len = 0;
		byte[] flush = new byte[1024];
		while (-1 != (len = is.read(flush))) {
			os.write(flush, 0, len);
		}
		os.flush();
		os.close();
		is.close();

	}

	public static byte[] getBytesFromFile(String src) throws IOException {
		InputStream is = new BufferedInputStream(new FileInputStream(src));
		ByteArrayOutputStream bos = new ByteArrayOutputStream();

		byte[] dest = null;

		byte[] flush = new byte[1024];
		int len = 0;

		while (-1 != (len = is.read(flush))) {
			bos.write(flush, 0, len);
		}
		bos.flush();
		dest = bos.toByteArray();

		return dest;
	}
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • byte[] ----> File
  • File ----> byte[]
  • 完整代码如下
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档