如何将文件内容转化为byte数组并返回呢?对于这个问题,我献上我第一次成功的代码~

package com.succez.task1;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; /**
* <p>Copyright: Copyright (c) 2018</p>
* <p>succez</p>
* @author ZhangJinjin
* @createdate 2018年5月3日
*/
public class fileToBuf { /**
* 将文件内容转换成byte数组返回,如果文件不存在或者读入错误返回null
*
* 这里需要在内存中创建一个字节数组缓冲区,将读取的文件字节数据写入到缓冲区中
* 最后将字节流转换成byte数组,并关闭资源
* 当出现文件找不到异常和输入输出异常时需要捕获
*/
public static byte[] file2buf(File fobj){
byte[] buffer = null;
try{
if (!fobj.exists())
{
return null;
} FileInputStream fis = new FileInputStream(fobj);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] b = new byte[1024];
int len=-1;
while ((len = fis.read(b)) != -1)
{
bos.write(b, 0, len);
}
fis.close();
bos.close();
buffer = bos.toByteArray();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return buffer;
} /*
* 两个测试用例
* */
public static void main(String []args){
File fobj1 = new File("E:\\TestExample\\test1.txt");
byte[] buffer1=fileToBuf.file2buf(fobj1);
System.out.println(buffer1);
File fobj2 = new File("E:\\TestExample\\test2.docx");
byte[] buffer2=fileToBuf.file2buf(fobj2);
System.out.println(buffer2);
}
}

结果如下:

仔细分析了一遍,我觉得挺好的,还怎么改,开玩笑!


流程再走一遍:

FileInputStream  从文件系统中的某个文件中获得输入字节,读取文本原始字节流。

ByteArrayOutputStream  此类实现了一个输出流,其中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长。可使用 toByteArray()toString() 获取数据。

一直读入数据,并且,将其写入到缓冲区中

利用toByteArray()方法转化为byte数组。

      

所以,没毛病~

将文件内容转化为byte数组返回的更多相关文章

  1. 代码实现:定义一个文件输入流,调用read(byte[] b)方法,将a.txt文件中的内容打印出来(byte数组大小限制为5)

    package com.loaderman.test; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; im ...

  2. 把文件类型转化为byte[]

    转自:https://blog.csdn.net/xinxiqi/article/details/78899159 package com.sanqing.util; import java.io.B ...

  3. Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)

    Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 ...

  4. 将文件File转换成byte数组

    代码如下: /** * 将文件转换成byte数组 * @param filePath * @return */ public static byte[] File2byte(File tradeFil ...

  5. 十六进制字符串转化为byte数组

    工作上有这样的需求之前找了好多都不行,好不容易有个可以的赶紧留下来. 原址:http://blog.163.com/roadwalker@126/blog/static/113561841201013 ...

  6. C# 数据类型转化为byte数组

    short数据与byte数组互转 public byte[] ShortToByte(short value) { return BitConverter.GetBytes(value); } pub ...

  7. java中InputStream转化为byte[]数组

    //org.apache.commons.io.IOUtils.toByteArray已经有实现 String filePath = "D:\\aaa.txt"; in = new ...

  8. 将几张图片合并为一张图片,返回byte数组

    需求:通过url数组下载图片,再竖直合成一张新的图片,具体java代码如下 1 /** 2 * 竖直合并图片 3 * 4 * @param urls 5 * @return 6 */ 7 public ...

  9. Byte数组和字符串相互转换的问题

    第一:需求:将文件转成byte数组,之后转成字符串返回.过滤器接收到响应内容后,需要将响应的内容转成byte数组. 第二:我刚开始的做法: Controller:byteArr = Conversio ...

随机推荐

  1. Android项目开发填坑记-9patchPng报错

    如果阅读体验不佳,请使用–> Github版 背景 之前写了一篇文章Android必知必会–NinePatch图片制作详细介绍了Android 9Patch图片的制作和一些Demo展示,这次说明 ...

  2. HTML5中 HTML表单和PHP环境搭建及与PHP交互 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博! 知识点概括:HTML表单/PHP环境搭建/表单提交数据与PHP交互 第一部分:HTML表单 <!DOCTYP ...

  3. Hadoop:Hadoop基本命令

    http://blog.csdn.net/pipisorry/article/details/51223877 常用命令 启用hadoop start-dfs.sh start-hbase.sh 停止 ...

  4. Java-IO之PrintStream(打印输出流)

    PrintStream是打印输出流,继承于FilterOutputStream,PrintStream是用来装饰其他输出流,为其他输出流添加功能,方便他们打印出各种数据值表示形式.与其他输出流不同,P ...

  5. Mybatis事务(二)事务隔离级别

    一般数据库的隔离级别有4个,由低到高依次为Read uncommitted.Read committed.Repeatable read.Serializable,这四个级别可以逐个解决脏读.不可重复 ...

  6. android eclipse写layout文件失效问题解决

    设置 xml 文件的代码提示功能 打开 Eclipse 依次选择 Window > Preferences > Xml > Editor > Content Assist &g ...

  7. 看到个有趣的方法批量下载rtf模板

    一般想要批量下载rtf模板我们都是用fndload来实现或者 perl download.pl来实现,今天看到一个比较有趣的方法 Hi, Blob column 'template file data ...

  8. BottomSheet底部动作条使用

    底部动作条 底部动作条(Bottom Sheets)是一个从屏幕底部边缘向上滑出的一个面板,使用这种方式向用户呈现一组功能.底部动作条呈现了简单.清晰.无需额外解释的一组操作. 使用环境 底部动作条( ...

  9. javascript语法之循环语句小练习

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. 详解ebs接口之客户配置文件导入(二)

    ------------------------------------ -- 1a. Setup the Org_id ------------------------------------ ex ...