`
dkn28dkn
  • 浏览: 17646 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

图片传输问题,IO操作

 
阅读更多

图片传输问题,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; } } 
  
  
分享到:
评论

相关推荐

    java_IO操作

    以下是对标题和描述中涉及的Java IO操作知识点的详细说明: 1. **读取文件内容**: - **按字节读取**:使用`FileInputStream`类,通过`read()`方法逐个读取字节。适用于二进制文件,如图片、音频或视频。 - **按...

    javaIo操作的基础代码

    Java IO操作是Java编程中的重要组成部分,主要用于处理输入和输出数据。在Java中,IO操作涉及到文件、字节流、字符流以及管道流等多个概念。下面将详细解释这些知识点。 首先,我们来看“文件类”。在Java中,`java...

    C#网络传输图片

    在图片传输中,可能会使用`Socket.Send`和`Socket.Receive`方法来读写数据流。 4. **图像处理**:在接收端,接收到的是二进制数据,需要将其转换回图像文件。C#的`System.Drawing`命名空间提供了对图像处理的支持,...

    图片下载IO流代码参考

    在Java编程中,IO流是处理数据传输的核心工具,广泛应用于文件读写、网络通信等场景。在图片下载的情景下,我们通常会使用HTTP协议来从服务器获取图片数据,并通过IO流将其保存到本地。 描述中提到的“NULL”意味着...

    XML_JSON_IO基本操作

    IO操作是程序与外部世界交互的基础,无论是读取文件、网络数据还是设备状态。在Android开发中,`FileInputStream`和`FileOutputStream`通常用于文件操作,`JsonReader`和`JsonWriter`用于处理JSON数据。理解并熟练...

    IO文件流操作

    Java NIO(New IO)提供了非阻塞的IO操作,通过选择器(Selector)可以同时监听多个通道,提高了IO性能。Java 7引入了NIO.2,引入了Path、Files、Paths等新类,使得文件操作更加简洁。 总结,Java中的IO文件流操作...

    Java Socket传输图片源代码

    - 对于大规模的、高性能的图片传输,可能需要更复杂的缓存策略、多线程处理和错误恢复机制。 通过学习和实践"Java Socket传输图片源代码",开发者可以掌握网络编程的基本原理和技巧,为构建更复杂的分布式系统打下...

    IO操作【极品版】IO操作【极品版】

    通过熟练掌握这些概念,开发者可以有效地实现各种IO操作,优化程序性能,并确保数据安全传输。 在提供的文件名"IOTest"中,我们可以假设这是一个包含IO操作相关测试代码的文件,用于验证上述概念的实际应用。通过...

    java-IO框架图

    NIO提供了非阻塞的IO操作,通过Channel和Buffer对象实现。通道(Channel)类似于流,但它们是双向的,可以同时用于读写。缓冲区(Buffer)是用来存储数据的地方,读写操作都是通过通道与缓冲区进行交互。选择器...

    使用Socket传输图片

    创建一个简单的图片传输系统,我们需要遵循以下步骤: 1. **服务器端**:首先,我们需要创建一个服务器端应用,它会监听特定的端口(默认或自定义),等待客户端的连接请求。使用`ServerSocket`类创建一个服务器套...

    Java_IO操作总结

    在Java中,I/O操作主要涉及到java.io包中的类和接口。这些类和接口的设计遵循了面向对象的原则,以接口和抽象类作为核心,具体的操作由其子类实现。 Java I/O的核心类包括: 1. File类:File类是用于操作文件和目录...

    网络通信,图片,文件,字符串传输

    图片传输可以视为文件传输的一种特殊形式,因为图片本质上也是二进制文件。可以使用`ImageIO` 类读取图片为字节数组,然后通过网络发送。在接收端,同样需要将接收到的字节数组还原为图片。 心跳检测是网络通信中...

    32.9、java io详解1

    字节流是 Java 中最基本的 IO 操作方式,它可以读取和写入所有类型的文件,包括图片、音频、视频等。字节流是以 byte 为单位的,它可以处理所有类型的数据。字节流的操作是直接对文件进行操作的,不使用缓冲区,效率...

    java_IO操作_(读写、追加、删除、移动、复制、修改)

    ### Java IO操作详解 在Java编程语言中,IO(Input/Output)操作是处理文件读写、网络数据传输等场景的基础。本文将详细介绍Java中进行文件基础操作的方法,包括读取、追加、删除、移动、复制以及修改文件的具体...

    java io 结构图

    除此之外,Java NIO(New IO)是Java 1.4引入的新特性,它提供了非阻塞IO操作,可以同时处理多个输入和输出通道,提高了IO性能。NIO的核心类包括 `Channel`、`Buffer` 和 `Selector`。`Channel` 代表数据传输的通道...

    Java IO流操作

    Java IO流操作是Java编程语言中的重要组成部分,它允许程序进行输入输出操作,处理数据从一个地方流向另一个地方。在Java中,IO流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。字节流处理单个...

    IO流的demo

    在Java 7及更高版本中,引入了NIO(New IO)和NIO.2,提供了更高效、更灵活的IO操作方式,如通道(Channel)、缓冲区(Buffer)和选择器(Selector)。尽管这些不是传统意义上的“流”,但在处理IO操作时同样重要。 ...

    Java IO流的相关操作

    8. **异常处理**:在涉及IO操作的代码中,通常需要处理可能出现的IOException。例子中的`catch (Exception e)`捕获异常并打印堆栈跟踪,但在实际应用中,应根据需要进行更具体的异常处理。 总的来说,Java IO流提供...

    java学习笔记之Java-IO操作共19页.pdf.zi

    【Java IO操作详解】 在Java编程中,IO(Input/Output)操作是处理数据输入与输出的核心技术。Java-IO操作共19页的笔记详细介绍了这一关键领域,旨在帮助开发者掌握如何有效地读取、写入和管理数据。Java IO API...

    io类之间继承关系的图片

    - Java 1.4引入了NIO(非阻塞IO),提供了Channel、Selector和Buffer等新概念,提高了IO操作的效率和并发性。 7. 打包和解压: - ZipInputStream和ZipOutputStream用于读写ZIP文件。 - GZIPOutputStream和...

Global site tag (gtag.js) - Google Analytics