Java实现inputstream流的复制代码实例
2020-03-11 17:51
141 查看
这篇文章主要介绍了Java实现inputstream流的复制代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
获取到一个inputstream后,可能要多次利用它进行read的操作。由于流读过一次就不能再读了,而InputStream对象本身不能复制,而且它也没有实现Cloneable接口,所以得想点办法。
实现思路:
1、先把InputStream转化成ByteArrayOutputStream
2、后面要使用InputStream对象时,再从ByteArrayOutputStream转化回来
代码
package com.test; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; public class StreamOperateUtil { public static void main(String[] args) throws FileNotFoundException { InputStream input = new FileInputStream("c:\test.txt"); //InputStream input = httpconn.getInputStream(); //这里可以写你获取到的流 ByteArrayOutputStream baos = cloneInputStream(input); // 打开两个新的输入流 InputStream stream1 = new ByteArrayInputStream(baos.toByteArray()); InputStream stream2 = new ByteArrayInputStream(baos.toByteArray()); } private static ByteArrayOutputStream cloneInputStream(InputStream input) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len; while ((len = input.read(buffer)) > -1) { baos.write(buffer, 0, len); } baos.flush(); return baos; } catch (IOException e) { e.printStackTrace(); return null; } } }
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
- java序列化与ObjectOutputStream和ObjectInputStream的实例详解
- Java中的InputStreamReader和OutputStreamWriter源码分析_动力节点Java学院整理
- Java 中的 DataInputStream 介绍_动力节点Java学院整理
- 详解PipedInputStream和PipedOutputStream_动力节点Java学院整理
- java 中InputStream,String,File之间的相互转化对比
- Java的DataInputStream和DataOutputStream数据输入输出流
- Java中的BufferedInputStream与BufferedOutputStream使用示例
相关文章推荐
- java代码实现通讯录实例,我不知道这有什么用。,
- java代码实例 使用switch实现简易的计算器(实现加减乘除)
- java 实现单链表逆转详解及实例代码
- java 实现约瑟夫环的实例代码
- JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)
- Java使用NIO包实现Socket通信的实例代码
- Java实现嵌入式数据库(文本数据库)代码实例
- 实现了基于TCP的Java Socket编程实例代码
- java代码实现文件夹以及下面文件夹和文件的复制
- JAVA实现异步调用实例代码
- Java实现FTP文件的上传和下载功能的实例代码
- java 实现计数排序和桶排序实例代码
- java 实现文件夹的拷贝实例代码
- Java注解实现动态数据源切换的实例代码
- Java实现多线程断点下载实例代码(下载过程中可以暂停)
- java反射实现javabean转json实例代码
- java代码,io实现复制文件
- java和Android文件下载断点续传和图片下载代码实现,可直接复制简单实现
- Java实现FTP服务器功能实例代码
- 使用Java和WebSocket实现网页聊天室实例代码