今天看到项目大神写了一个我之前没有见过的方法,很是简练:

IOUtils.copy(inputStream,outputStream);

比起流和字节间的多行语句,这个迅速吸引了我的注意,开始学习

apache.commons.io.IOUtils

org.apache.poi.util.IOUtils

两种大同小异,这里以第一种为例。

这里有一篇文档写的非常好,https://blog.csdn.net/zhoushou6/article/details/80292271

这里我把需要对比的内容复制过来

(一)打印流中信息

原始做法:new byte[]     +   .read()   +   new String()

 File f = new File(filename);InputStream in = new FileInputStream(f);byte[] b = new byte[1024];in.read(b);System.out.println(new String(b));

使用IOUtils,直接减少了咱们byte数组对象以及字节数组转化字符串这个大步骤

  File f = new File(filename);InputStream in = new FileInputStream(f);System.out.println(IOUtils.toString(in));

(二)流之间的内容复制

原始状态:被复制文件必须先转化为比byte[],再将字节数组作为中间媒介进行二次写入复制文件中

  File f = new File(fileName1);File f2 = new File(fileName2); InputStream in=new FileInputStream(f);byte[] byteArray= new byte[1024];while(in.read()){in.read(byteArray);}OutputStream outputStream = new FileOutputStream(f2);outputStream.write(byteArray);

IOUtils:

如果是很大的数据,那么可以选择用copyLarge方法,适合拷贝较大的数据流,比如2G以上

 File file1 = new File(fileName1);File file2 = new File(fileName2);InputStream inputStream2 = new  FileInputStream(file2);OutputStream outputStream1 = new FileOutputStream(file1);IOUtils.copy(inputStream2,outputStream1);

(三)写入流内容

IOUtils:

IOUtils.write(“我们是幸运哒”, out);

(四)关闭流

原始状态:必要进行判断、关流、异常捕捉

try{
if(inputStream != null){inputStream.close();
}
}catch(IOException e){
}

IOUtils:

 IOUtils.closeQuietly(in);IOUtils.closeQuietly(out);

(五)整体内容

 public static void main(String[] args){File file1 = new File("jingjing.txt");File file2 = new File("xinxin.txt");String str = "连我生日都记不住";try{OutputStream outputStream = new FileOutputStream(file2);outputStream.write(str.getBytes());InputStream inputStream2 = new FileInputStream(file2);OutputStream outputStream1 = new FileOutputStream(file1);IOUtils.copy(inputStream2,outputStream1);IOUtils.closeQuietly(inputStream2);IOUtils.closeQuietly(outputStream);IOUtils.closeQuietly(outputStream1);}catch (Exception e){}}

-------------------------------------------------------------------------------------------------------------------------------------------------------------

THE END

GOOD LUNCK

IOUtils快速进行内容复制与常用方法相关推荐

  1. dev gridcontrol 单元格内容复制_Excel复制还在用“Ctrl+C”?这5种高效的复制操作,堪称神来之笔...

    如果你经常使用Excel来办公,那它里面的一些快捷键使用应该不陌生吧!下面小编就要来说说Excel里面一些快捷键的操作,让我们一起来看看吧! 一.快速复制操作 1.填充相同内容 如果你想要在不同的单元 ...

  2. 如何快速大批量进行复制粘贴数据?

    我的工作行业比较特殊,每天的工作中都离不开大批量的进行复制及粘贴数据,虽然使用电脑上的复制粘贴快捷键(Ctrl+C和Ctrl+V)操作也比较方便,但是长时间的一个姿势操作,让我感觉到手部非常的疲惫. ...

  3. Excel表格中如何快速跨表复制粘贴,将表1数据一键复制到表2、表3、表4

    Excel表格中如何快速跨表复制粘贴,将表1数据一键复制到表2.表3.表4 目录 Excel表格中如何快速跨表复制粘贴,将表1数据一键复制到表2.表3.表4 1.按住Shift键选中工作表2.表3.表 ...

  4. 将磁盘上的一个文本文件的内容复制到另一个文件中

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p198 8.1.2 上级实训内容 [实训内容2]将磁盘上的一个文本文件的内容复制到另一个文件中 #in ...

  5. 如何复制计算机页面,怎么把电脑命令行窗口里的内容复制到剪贴板

    想要把电脑命令行窗口里的内容复制到剪贴板,该如何操作呢,那么怎么把电脑命令行窗口里的内容复制到剪贴板的呢?下面是学习啦小编收集整理的怎么把电脑命令行窗口里的内容复制到剪贴板,希望对大家有帮助~~ 把电 ...

  6. Android如何把 内容复制到剪贴板

    public void setClipboard(){ //获取剪贴板管理器: ClipboardManager  cm = (ClipboardManager) getSystemService(C ...

  7. javascript 将内容复制到剪贴板

    javascript 将内容复制到剪贴板 CreateTime--2017年9月19日11:36:50 Author:Marydon js 操作剪贴板 1.设置剪贴板内容 UpdateTime--20 ...

  8. linux将一个文件的内容复制到另一个新的文件

    需要创建一个新的文件new_file.txt,并把一个文件file1.txt的内容复制到这个新文件中: cat file1.txt >> new_file.txt

  9. Java 将文件的内容复制到另一个文件

    java将一个文件的内容复制到另一个文件. 使用BufferedWriter类的read和write方法将一个文件的内容复制到另一个文件. 完整代码 import java.io.*;public c ...

  10. access文本框如何分开_ACCESS 2007 如何在窗体中将一个文本框的内容复制给另外一个文本框?...

    展开全部 假设:把文本框控件 Text1 里面的内容复制到文本框控件 Text2 中.. 如果,Text1 和 Text2 在同一个窗体e69da5e6ba9032313133353236313431 ...

最新文章

  1. UVA11054Gergovia的酒交易
  2. 002_图表容器及大小
  3. 【趋势】吴军:未来机器将会控制98%的人
  4. windows下程序开机自启动(任务计划程序)
  5. 用Canvas画圆环百分比进度条
  6. 广州计算机自考独立办学,广东省06年自学考试独立办班广州考点办学计划的通知...
  7. oracle 仲宏伟,Oracle数据库Merge的使用
  8. c# winform WebBrower 控件中右键获取控件坐标
  9. IE, Firefox, Chrome共同的保存图片bug? 求助。
  10. 第11章 樱花树(《C和C++游戏趣味编程》配套教学视频)
  11. 2008年信息安全服务市场发展报告
  12. WayOs内置智能重启:自动计算UTC时间为本地时间,可以调整为几时重启
  13. Android异常总结---3.Failed to install *.apk on device 'emulator-5554': timeout 错误提示:
  14. word段落居中的快捷键_Word一分钟完成人员名单排版,这方法又快又好!
  15. windows下的文件服务器监控
  16. 2021-08-07:与数组中元素的最大异或值。给你一个由非负整数组成的数组 nums 。另有一个查询数组 queries ,其中 queries[i] = [xi, mi] 。第 i 个查询的答案是
  17. 闪电Android视频转换器,闪电手机视频格式转换器
  18. 自学PHP 环境搭建
  19. python运用在大数据中精准生活_大数据分析技术在生活中的广泛应用
  20. 网络协议学习笔记 · 22

热门文章

  1. java mencoder_java 用ffmpeg和mencoder进行视频转码
  2. 如何连接到sqlplus
  3. 计算机操作系统期末考试大全,计算机操作系统期末考试试题含答案
  4. 2010年全国职称计算机考试专用教程——AutoCAD 2004制图软件 (含光盘下载)
  5. smarty capture使用
  6. vb连接odbc连接mysql数据库_vb6通过ODBC连接mysql数据库
  7. 软件测试计划的主要内容
  8. 《中国区块链产业园15强名录》
  9. 架构之美–开放环境下的网络架构
  10. Ubuntu安装Flash Player