apache comments io包IOUtils方法简单介绍
IOUtils封装了Java中io的常见操作,使用十分方便。需要下载 commons-io-1.4.jar 包
package com.tiewoba.apache.comments;import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import java.util.List;import org.apache.commons.io.IOUtils;
import org.apache.commons.io.LineIterator;
/*** 学习使用apache comments io包中的IOUtils中的方法**/
public class TestComment {public static void main(String[] args) throws MalformedURLException,IOException {InputStream in = new URL("http://www.apache.org").openStream();InputStream in2 = new URL("http://www.apache.org").openStream();/*** IOUtils.contentEquals(InputStream input1, InputStream input2)* 英文:* Compare the contents of two Streams to determine if they are equal or not.* 翻译:* 比较两个输入流的内容是否相等*/try {//IOUtils.toString将缓冲区的内容以utf-8的编码方式以字符串的形式输出//System.out.println(IOUtils.toString(in,"UTF-8"));} finally {IOUtils.closeQuietly(in);}System.out.println(IOUtils.contentEquals(in, in2));System.out.println("-----------------------------------------------------------------------");/*** IOUtils.copy(InputStream input, OutputStream output)* 英文:* Copy bytes from an InputStream to an OutputStream.* 翻译:* 将字节从 InputStream复制到OutputStream中*/ByteArrayOutputStream out = new ByteArrayOutputStream();IOUtils.copy(in2, out);System.out.println(out.size());//System.out.println(out.toString("UTF-8"));//IOUtils.closeQuietly(in);//IOUtils.closeQuietly(out);System.out.println("-----------------------------------");/**IOUtils.copyLarge(InputStream input, OutputStream output);* 英文* Copy bytes from a large (over 2GB) InputStream to an OutputStream.* 翻译:* 将字节超过2G的字节输入流复制到输出流中*/IOUtils.copyLarge(in2, out);//System.out.println(out.toString("UTF-8"));System.out.println("------------------------------------------------------------");/*** IOUtils.lineIterator(InputStream input, Charset encoding) * 英文* Return an Iterator for the lines in an InputStream, using the character encoding specified (or default encoding if null).* 翻译* 返回一个装有输入字节行数的Iterator对象,使用特定的字符编码(如果没用声明的话则用默认编码)*/InputStream in3 = new URL("http://www.apache.org").openStream();try {LineIterator it = IOUtils.lineIterator(in3, "UTF-8");System.out.println(it.hasNext());if (it.hasNext()) {String line = it.nextLine();//System.out.println(line);}} finally {IOUtils.closeQuietly(in);}System.out.println("------------------------------------------------------------------");/*** IOUtils.read(InputStream input, byte[] buffer)* 英文:* Read bytes from an input stream.* 中文:从输入流中读取字节(通常返回输入流的字节数组的长度)*/InputStream in4 = new URL("http://www.apache.org").openStream();byte[] buffer = new byte[100000];System.out.println(IOUtils.read(in4, buffer));System.out.println("------------------------------------------------");/*** IOUtils.readLines(InputStream input, Charset encoding) * 英文:* Get the contents of an InputStream as a list of Strings, one entry per line, using the specified character encoding.* 翻译:* 获得输入流的内容放回一个List<String>类型的容器,每一行为这个容器的一个入口,使用特定的字符集(如果为空就使用默认的字符集) */InputStream in5 = new URL("http://www.apache.org").openStream();List<String> list = IOUtils.readLines(in5, "UTF-8");Iterator<String> iter = list.iterator();while(iter.hasNext()){String s = iter.next();//System.out.println(s);}System.out.println("--------------------------------------------------------------");}}
apache comments io包IOUtils方法简单介绍相关推荐
- 使用org.apache.commons.io.FileUtils,IOUtils工具类操作文件
转载自 使用org.apache.commons.io.FileUtils,IOUtils;工具类操作文件 File src = new File("G:/2012/portal/login ...
- InputStreamReader 和 OutputStreamWriter类使用方法简单介绍,及演示。
InputStreamReader 和 OutputStreamWriter类使用方法简单介绍. 一.InputStreamReader类 InputStreamReader 将字节流转换为字符流. ...
- 黑盒测试概念简述,黑盒测试优缺点、黑盒用例设计方法简单介绍及黑盒测试方法使用总结
黑色测试 黑盒测试概念: 黑盒的优缺点介绍: 黑盒测试用例设计方法简单介绍: 黑盒测试方法使用总结: 黑盒测试概念: 又称功能测试或数据驱动测试,是用来检测每个功能是否正常使用.黑盒测试主要意味着测试 ...
- 【科研系列】专利检索工具及方法简单介绍
Date: 2022.7.10 文章目录 1. 国内专利: 2. 国外专利: 3.使用方法: 专利检索工具及方法简单介绍: 1. 国内专利: (1) soopat: http://www.soopat ...
- apache的IO包中的FileUtils方法的使用
首先非常感谢apache这个公司给我们免费开源了这个IO包,我们才能学习使用开发出我们想要的产品,知道这个包已经很多年了一直都是在用固定的几个方法,对里面很多方法都不会用,今天有空我就来研究试用下这里 ...
- IO与文件读写---使用Apache commons io包提高读写效率
[一]Apache commons IO简介 首先贴一段Apache commons IO官网上的介绍,来对这个著名的开源包有一个基本的了解: Commons IO is a library of u ...
- 正則表達式基本使用方法简单介绍
正則表達式非常实用, 有些书专门用整本书来讲这个, 可见其博大精深. 有人的地方就有江湖. 有字符串的地方就有正則表達式.所谓的正則表達式, 只是是一种模式/形式罢了. 说白了, 就是一个字符串形式. ...
- 【Linux Socket C++】为什么IO复用需要用到非阻塞IO?EAGAIN的简单介绍与应用
目录 为什么IO复用需要非阻塞的IO EAGAIN的介绍 EAGAIN的应用 为什么IO复用需要非阻塞的IO 我们可以先看一下官方的回答: 在Linux命令行输入:man 2 select 找到[BU ...
- MediaPlayer使用方法简单介绍
1)如何获得MediaPlayer实例: 可以使用直接new的方式: MediaPlayer mp = new MediaPlayer(); 也可以使用create的方式,如: MediaPlayer ...
- Android MediaPlayer使用方法简单介绍
1)如何获得MediaPlayer实例: 可以使用直接new的方式: MediaPlayer mp = new MediaPlayer(); 也可以使用create的方式,如: MediaPlayer ...
最新文章
- 从洗牌算法谈起--Python的random.shuffle函数实现原理
- 运行shell脚本时怎么知道jdk路径_Linux中如何查询运行文件的全路径的方法
- javascript的垃圾回收机制
- 使用select和insert的小细节
- 【杂谈】为什么有三AI自断财路,从来不接广告
- python模块--json \ pickle \ shelve \ XML模块
- 大数的相加 乘 余 幂
- android按钮在容器下方,使用flex布局解决安卓手机上固定在底部的按钮,在键盘弹起后挡住input输入框的问题...
- jquery input事件
- TTU智能配电终端_智能配电终端规模化建设及应用
- Java中Date, Calendar, SimpleDateFormat的相互转换
- ios - 带动画圆形旋转的进度条
- .NET Core跨平台:.NET Core项目部署到linux(Centos7)
- 欺骗神经网络_可以欺骗神经网络吗?
- Android15_ListView分页
- 向Docker告别的时候到了
- Hi3531添加16GByte(128Gbit) NAND Flash支持
- 【C++】vector的基本使用
- z变换判断稳定性和因果性_信号与系统(奥本海姆)
- html中的input文本框禁止输入问题