- 浏览: 17299 次
最新评论
图片传输问题,IO操作
2011年08月01日
原题:
将本地图片文件,转成字节码流后,然后再 转成对象 用于 网络传输
几个得分的回复:
(1) javax.imageio.*; 里面的方法也许有用: BufferedImage bImage = new BufferedImage(image.getWidth(), image .getHeight(), BufferedImage.TYPE_INT_ARGB); ByteArrayOutputStream out = new ByteArrayOutputStream(); try { ImageIO.write(bImage, format, out); } catch (IOException e) { e.printStackTrace(); } byte [] b = out.toByteArray(); b传过去,再转成图像,用FileOutpurStream 就好啦 FileOutputStream fos = new FileOutputStream(file); for (int i = 0; i 0){ bao.write(buff); } bao.close(); bis.close(); buff=bao.toByteArray();//将图片文件转换为字节数组//buff数组存储的是图片1.JPG的字节码 ByteArrayInputStream asis=new ByteArrayInputStream(buff); BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("d:/2.jpg")); byte[] temp=newbyte[1]; while((asis.read(temp))>0){ bos.write(temp); } asis.close(); bos.flush(); bos.close(); }catch(Exception e){ e.printStackTrace(); } } }
(5) 楼主给出的代码: 问题应该是解决了,我的文件比较小,我准备用字节数组传输 写了代码,大家看看; 最后利用现有的传对象的方法 将字节数组传输到服务端 存为文件 public class TestFile { /** *@param args *@throws IOException*/ public static void main(String[] args)throws IOException{ // int byteread = 0; // File file = new File("2.GIF"); // InputStream is = new FileInputStream(file); // byte[] buffer = new byte[1024]; // while ((byteread = is.read(buffer)) != -1) {//一次读1444个字节放入buffer数组中 // System.out.println(is.read(buffer)); // } File file=new File("2.GIF");byte[] b= getBytesFromFile(file); getFileFromBytes(b,"22.jpg"); } 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=newbyte[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; } 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; } }
发表评论
-
MTD NAND Analysis 1
2012-01-20 08:14 705MTD NAND Analysis 1 2011年05月06 ... -
内存映射对于大文件的使用
2012-01-20 08:14 653内存映射对于大文件的使用 2011年04月28日 平时很 ... -
rtems 下linkcmd分析代码
2012-01-20 08:14 954rtems 下linkcmd分析代码 2010年11月09日 ... -
连傻瓜都能看懂的基于代码注入的线程守护技术
2012-01-20 08:14 1648连傻瓜都能看懂的基于 ... -
mmap内存映射操作之一
2012-01-20 08:14 1057mmap内存映射操作之一 2011年06月09日 本博客 ... -
S7-300 PLC的串口无线通讯在火电厂污水处理中的应用
2012-01-19 13:31 670S7-300 PLC的串口无线通讯 ... -
IIS32位和64位切换
2012-01-19 13:31 855IIS32位和64位切换 2011年12月22日 X64 ... -
两平台下的自动登录telnet设置
2012-01-19 13:30 629两平台下的自动登录telnet设置 2011年12月28日 ... -
延时批处理
2012-01-19 13:30 784延时批处理 2012年01月12日 举个例子,我们要延时 ... -
ActionScript垃圾回收
2012-01-17 03:20 942ActionScript垃圾回收 2011年10月26日 ... -
计算机故障大全(二)
2012-01-17 03:20 630计算机故障大全(二) 2010年06月02日 硬盘 ... -
琢石成器――windows环境下32位汇编语言程序设计(第三版)笔记
2012-01-17 03:20 2059琢石成器――windows环境下32位汇编语言程序设计(第三版 ... -
WinCE驱动开发问题精华集锦
2012-01-17 03:20 584WinCE驱动开发问题精华 ... -
钢蹦爸爸的自白
2012-01-16 01:54 658钢蹦爸爸的自白 2009年10月24日 怀着复杂的心情 ... -
爱韩庚的100个理由
2012-01-16 01:54 621爱韩庚的100个理由 2009 ... -
火车上的随想
2012-01-16 01:54 540火车上的随想 2011年02 ... -
jbpm3通过processDefinition.createProcessInstance()为什么能保存ProcessInstance之迷
2012-01-11 01:53 698jbpm3通过processDefinition.create ... -
Android自定义VIEW取得XML的自定义值
2012-01-11 01:53 664Android自定义VIEW取得XML的自定义值 2011年 ... -
常用的正则表达式--Java
2012-01-11 01:53 697常用的正则表达式--Java 2011年08月01日 是 ... -
jsp编码过滤器的配置和使用-用心做程序-iteye技术网站
2012-01-11 01:52 675jsp编码过滤器的配置和使用-用心做程序-iteye技术网站 ...
相关推荐
即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和...
字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以(使用用字节流来传输字符文件会产生乱码) 注意,不管是哪一种流,在数据传输的底层,还是以字节方式传输。
Filesite.io源码, 一个无数据库、基于文件和目录的Markdown文档、网址导航、图书、图片、视频网站PHP开源系统。 软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等...
称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类 • 根据处理数据类型的不同分为:字符流和字节流 • 根据数据流向不同分为:输入流和输出流 字符流和字节流...
在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上 的数据传输流,字符串流,对象流等等等。 比如程序从服务器上下载图片,就是通过流的方式从网络上以流的方式到...
蓝牙串口传输温度 开源框架 Butterknife注解式框架 http://jakewharton.github.io/butterknife/ Glide图片加载框架 https://github.com/bumptech/glide Okhttp网络请求框架 http://square.github.io/okhttp/ ...
支持局域网内iPhone、安卓手机、Windows、Mac、iPad 等多种不同操作系统的设备之间传输文件、图片、视频、交换文档和文字内容。此版本为windows8以下的PC客户端,其他操作系统的版本可到官网下载:www.feem.io
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
17.新增Lucene全文检索 18.Base64传输图片 19.图片加水印(图片水印,文字水印) 20.生成 or 解析 二维码 21.HTML5 + JAVAEE WebSocket 通信技术 22.批量异步上传图片,可预览,有进度条,支持拖拽上传(百度...
17.新增Lucene全文检索 18.Base64传输图片 19.图片加水印(图片水印,文字水印) 20.生成 or 解析 二维码 21.HTML5 + JAVAEE WebSocket 通信技术 22.批量异步上传图片,可预览,有进度条,支持拖拽上传(百度...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...
基于Android的天气APP 前言 ... 多知天气,主要是给大家学习一下。 项目主要是12月23日开始建立,春节半个多月回家了,就没有写了。三月初完成了整个项目。耗时近两个月。平时在公司也就做点测试的... 蓝牙串口传输温度
Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...
Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...
09 传输层和应用层 第2章 01 上节课复习 02 arp协议复习 03 字符编码 第3章 01 网络基础和dos命令 02 为何学习linux 03 课程内容介绍 04 操作系统内核与系统调用 05 操作系统安装原理 06 linux操作系统安装 07 ...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...