--------------siwuxie095

 
 

 
 

 
 

 
 

 
 

 
 

首先到 Apache官网 下载相关的库文件

 
 

Apache官网:http://www.apache.org/

 
 

 
 

在官网页面的最下方是Apache所支持的所有项目列表(APACHE PROJECT LIST)

 
 

找到
Commons,点击进入,在页面左侧选择 Components,

里面是 Commons 所包含的所有可用的库,在其中找到 IO,

这是一个 IO 的工具集合,点击进入,选择 Download,下载

Apache Commons IO 2.5 版本(截止 2017/3/27 最新版本)

 
 

页面链接:http://commons.apache.org/proper/commons-io/download_io.cgi

 
 

 

 
 

 
 

commons-io-2.5-bin.zip
解压后一览:

 
 

 
 

 
 

 
 

 
 

 
 

工程名:TestApacheIO

包名:com.siwuxie095.apacheio

类名:TestFileUtils.java

 
 

 
 

手动在工程上创建文件:

在工程名:TestApacheIO 上,右键->New->Untitled Text File,

输入文本,保存路径选择 TestApacheIO,命名为 text.txt

 
 

text.txt 的内容:

 
 

 
 

 
 

 
 

打开资源管理器,在工程 TestApacheIO 文件夹下,创建一个文件夹:lib,

在其中放入:commons-io-2.5.jar(这是为了将这个库被当前的工程所引用)

 
 

 
 

工程结构目录如下:

 
 

 
 

 
 

 
 

选择
commons-io-2.5.jar,右键->Build Path->Add to Build Path

(这样就能在代码中使用当前库所提供的功能)

 
 

 
 

此时,工程结构目录一览:

 
 

 
 

 
 

 
 

核心的包是
org.apache.commons.io,提供了很多操作 IO 或 文件 的类,

常用的有:CopyUtils、FileUtils、IOUtils

 
 

 
 

 
 

 
 

 
 

代码:

 
 

package com.siwuxie095.apacheio;

 
 

import java.io.File;

import java.io.IOException;

 
 

import org.apache.commons.io.FileUtils;

 
 

public class TestFileUtils {

/**

* 使用外部库来操作 IO 与
文件
相当方便

* 提供了很多操作方法和API

* @param args

*/

public static
void main(String[] args) {

 

//创建一个文件对象

File file=new File("text.txt");

 

//需要将text.txt的内容复制给text_new.txt

File filex=new File("text_new.txt");

 

try {

 

//FileUtils 不用为其创建实例,直接使用类调用方法即可

//这里测试将文件读取为字符串的方法,传入文件对象并指定字符串的编码

//返回一个String类型,创建一个String接收返回值

//有异常抛出,需要用 try catch 捕获

String input=FileUtils.readFileToString(file, "UTF-8");

 

//直接打印即可,这比使用字符型的输入流来读取方便的多

System.out.println(input);

 

//直接传入原始文件对象和目标文件对象,完成复制

FileUtils.copyFile(file, filex);

 

} catch (IOException e) {

e.printStackTrace();

}

 

}

 
 

}

 
 

 
 

运行一览:

 
 

 
 

 
 

 
 

text_new.txt 的内容:

 
 

 
 

 
 

 
 

运行后,工程结构目录一览:

 
 

 
 

 
 

 
 

 
 

 
 

 
 

【made by siwuxie095】

使用Apache IO库操作IO与文件的更多相关文章

  1. 用 python 来操作 docx, xlsx 格式文件(二)(使用 docx 库操作 docx 格式文件

    docx 库 文章结构: 一.docx 基本用,创建 docx 文件并添加数据 二.深入理解文本格式(format),并设置所格式属性(attribute) 三.深入理解样式(styles),以及如何 ...

  2. 用 python 来操作 docx, xlsx 格式文件(一)(使用 xlsxwriter 库操作xlsx格式文件)

    需要从数据库读取日志生成相应的 docx,xlsx 文件做相应的记录 所以自然要用到docx, xlsxwriter 库 但是这些库的应用场景非常广泛,任何需要对 word,excel 文件执行重复性 ...

  3. 文件IO函数和标准IO库的区别

    摘自 http://blog.chinaunix.net/uid-26565142-id-3051729.html 1,文件IO函数,在Unix中,有如下5个:open,read,write,lsee ...

  4. IO库----IO类,文件输入输出,string流

    一.IO类 1.IO库类型和头文件表: 头文件 类型 iostream istream,wistream 从流读取数据 ostream,wostream 向流写入数据 iostream,wiostre ...

  5. [APUE]标准IO库(上)

    一.流和FILE对象 系统IO都是针对文件描述符,当打开一个文件时,即返回一个文件描述符,然后用该文件描述符来进行下面的操作,而对于标准IO库,它们的操作则是围绕流(stream)进行的. 当打开一个 ...

  6. 标准模板库——IO库

    IO库设施: . istream(输入流)类型,提供输入操作. . ostream(输出流)类型,提供输出操作. . cin,一个istream对象,从标准输入读取数据. . cout,一个ostre ...

  7. IO库

    IO类 C++语言不直接处理出入输出,而是通过一族定义在标准库中的类型来处理IO.这些类型支持从设备读取数据.向设备写入数据的IO操作,设备可以是文件 .控制台窗口 等.还有一些类型允许内存IO ,即 ...

  8. C++的IO处理中的头文件以及类理解(1)

    C++语言不直接处理输入输出,而是通过一簇定义在标准库中的类型来处理IO.这些类型支持从设备读取数据.向设备写入数据的IO操作,设备可以是文件.控制台窗口等,还有一些类型允许内存IO,即,从strin ...

  9. IO相关1(io类/流状态)

    IO类: iostream 定义了用于读写流的基本类型,fstream 定义了读写命名文件的类型,sstream 定义了读写内存 string 对象的类型. IO 库类型和头文件: 头文件 类型 io ...

随机推荐

  1. keras中自定义Layer

    最近在学习SSD的源码,其中有两个自定的层,特此学习一下并记录. import keras.backend as K from keras.engine.topology import InputSp ...

  2. HDU3507Print Article (斜率优化DP)

    Zero has an old printer that doesn't work well sometimes. As it is antique, he still like to use it ...

  3. ehchache和redis

    Ehcache 在java项目广泛的使用.它是一个开源的.设计于提高在数据从RDBMS中取出来的高花费.高延迟采取的一种缓存方案.正因为Ehcache具有健壮性(基于java开发).被认证(具有apa ...

  4. bzoj 4465 游戏中的学问

    Written with StackEdit. Description 大家应该都见过很多人手拉手围着篝火跳舞的场景吧?一般情况下,大家手 拉手跳舞总是会围成一个大圈,每个人的左手拉着旁边朋友的右手, ...

  5. LeetCode Subarray Product Less Than K

    原题链接在这里:https://leetcode.com/problems/subarray-product-less-than-k/description/ 题目: Your are given a ...

  6. UVA12296 Pieces and Discs

    题意 PDF 分析 可以看成直线切割多边形,直接维护. 对每个多边形考虑每条边和每个点即可. 时间复杂度?不过\(n,m \leq 20\)这种数据怎么都过了.据说是\(O(n^3)\)的,而且常数也 ...

  7. Python学习系列(二)(基础知识)

    Python基础语法 Python学习系列(一)(基础入门) 对于任何一门语言的学习,学语法是最枯燥无味的,但又不得不学,基础概念较繁琐,本文将不多涉及概念解释,用例子进行相关解析,适当与C语言对比, ...

  8. maven搭建

    http://blog.csdn.net/zhshulin/article/details/30779873 http://blog.csdn.net/zhshulin/article/details ...

  9. 关于 Android 中未公开的类(用@hide隐藏的类)

    关于 Android 中未公开的类(用@hide隐藏的类) 摘自:http://wangsheng2008love.blog.163.com/blog/static/78201689201142643 ...

  10. 容器中跨主机的网络方案-Weave

    容器中的网络是建立docker集群的重要内容. 本文将介绍如何用Weave实现容器的多节点互通. Weave是一个开源的项目,其网站为: https://www.weave.works/ 其工作原理相 ...