file 从InputStream读取byte[]示例
file 从InputStream读取byte[]示例
- public static byte[] getStreamBytes(InputStream is) throws Exception {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- byte[] buffer = new byte[1024];
- int len = 0;
- while ((len = is.read(buffer)) != -1) {
- baos.write(buffer, 0, len);
- }
- byte[] b = baos.toByteArray();
- is.close();
- baos.close();
- return b;
- }
- default byte[] readFileBytes(InputStream is){
- byte[] data = null;
- try {
- if(is.available()==0){//严谨起见,一定要加上这个判断,不要返回data[]长度为0的数组指针
- return data;
- }
- data = new byte[is.available()];
- is.read(data);
- is.close();
- return data;
- } catch (IOException e) {
- LogCore.BASE.error("readFileBytes, err", e);
- return data;
- }
- }
图片上传功能是我们web里面经常用到的,获得的方式也有很多种,这里我用的是request.getInputStream()获取文件流的方式。想要获取文件流有两种方式,附上代码
12345678910int length = request.getContentLength();//获取请求参数长度。
byte[] bytes = new byte[length];//定义数组,长度为请求参数的长度
DataInputStream dis = new DataInputStream(request.getInputStream);//获取请求内容,转成数据输入流
int readcount = 0;//定义输入流读取数
while(readcount < length){
int aa= dis.read(bytes,readcount,length); //读取输入流,放入bytes数组,返回每次读取的数量
readcount = aa + readcount; //下一次的读取开始从readcount开始
}
//读完之后bytes就是输入流的字节数组,将其转为字符串就能看到
String bb = new String(bytes,"UTF-8");
上面这种是利用读取输入流的方式,也可以用写入字节输入流的方式获取,就不需要获取请求长度了
123456789DataInputStream dis = new DataInputStream(request.getInputStream());
ByteArrayOutputStream baot = new ByteArrayOutputStream();
byte[] bytes = new byte[1024]; //定义一个数组 用来读取
int n = 0;//每次读取输入流的量
while((n=dis.read(bytes))!=-1){
baot.write(bytes); //将读取的字节流写入字节输出流
}
byte[] outbyte = boat.toByteArray();//将字节输出流转为自己数组。
String bb = new String(outbyte,"UTF-8");
file 从InputStream读取byte[]示例的更多相关文章
- byte数组和File,InputStream互转
1.将File.FileInputStream 转换为byte数组: File file = new File("file.txt"); InputStream input = n ...
- java 中 byte[]、File、InputStream 互相转换
1.将File.FileInputStream 转换为byte数组: File file = new File("test.txt"); InputStream input = n ...
- 【java】java 中 byte[]、File、InputStream 互相转换
========================================================================= 使用过程中,一定要注意close()掉各个读写流!! ...
- byte[],File和InputStream的相互转换
File.FileInputStream 转换为byte[] File file = new File("test.txt"); InputStream input = new F ...
- 【Spring】获取资源文件+从File+从InputStream对象获取正文数据
1.获取资源文件或者获取文本文件等,可以通过Spring的Resource的方式获取 2.仅有File对象即可获取正文数据 3.仅有InputStream即可获取正文数据 package com.sx ...
- File相关的读取和写入以及复制
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileI ...
- InputStream读取文件到string后OutputStream到文件,按String和Bytes拷贝
http://www.iteye.com/problems/72150 写了一段代码 大体是 InputStream读取文件到string后OutputStream到文件 遇到的问题为TXT文件大小格 ...
- File根据inputstream复制文件到临时目录,使用完之后删除
项目中有这个需求: 1)上传文件通过公司平台的校验,校验成功后,通过接口,返回文件流: 2)我们根据这个文件流进行操作.这里,先将文件流复制文件到项目临时目录WEB-INF/temp;文件使用完毕,删 ...
- InputStream 读取中文乱码 扩展
对于InputStream读取中文乱码,下面这段话给出了很好的解释,以及后续编码上的扩展. BufferedInputStream和BufferedOutputStream是过滤流,需要使用已存在的节 ...
随机推荐
- Java并行程序基础。
并发,就是用多个执行器(线程)来完成一个任务(大任务)来处理业务(提高效率)的方法.而在这个过程中,会涉及到一些问题,所以学的就是解决这些问题的方法. 线程的基本操作: 1.创建线程:只需要new一个 ...
- VS调试
1.调试输出变量值 F9先设置断点,开始调试后,依次选择调试——>窗口——>局部变量和监视——>监视1. 点击“全部中断”——>之后局部变量会显示相关变量值,监视1可以查看变量 ...
- 实战接口开发:python + flask + mysql + redis(根据反馈,持续细化更新。。。)
前言 自动化已经成为测试的必备技能之一了,所以,很多想跳槽的测试朋友都在自学,特别是最实用的接口自动化, 但是很多人因为没有可以练手的项目而苦恼,最终导致缺乏实战经验,其实,完全可以自己开发个简单项目 ...
- opencv归一化图像
cv::normalize(src, dst, 0.0, 255.0, cv::NORM_MINMAX);
- Nexus 私服上传文件,并通过 Gradle 引用
一.上传文件到 Nexus 1,进入 Nexus 仓库界面 如果你电脑还没有使用 Nexus,需要先下载并启动 Nexus 私服. 在浏览器输入:http://127.0.0.1:8081/nexus ...
- NLP之词向量
1.对词用独热编码进行表示的缺点 向量的维度会随着句子中词的类型的增大而增大,最后可能会造成维度灾难2.任意两个词之间都是孤立的,仅仅将词符号化,不包含任何语义信息,根本无法表示出在语义层面上词与词之 ...
- [LeetCode] 683. K Empty Slots K个空槽
There is a garden with N slots. In each slot, there is a flower. The N flowers will bloom one by one ...
- [LeetCode] 22. Generate Parentheses 生成括号
Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes ...
- [LeetCode] 4. Median of Two Sorted Arrays 两个有序数组的中位数
There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two ...
- C实现简单的xml格式文件
今天在工作中遇到了一个需要处理xml格式的字符串,需求是修改某个固定的value值,并且还要把这个xml的key和value按照原本的格式在推送回去. 如果使用库,就显得太臃肿了,就想写个简单的dem ...