--------------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. vc++6 Platform SDK February 2003

    vc++6.0 sp6 ftp://ejiasoft:softejia@ejia2.tust.edu.cn/else/VC++.6.0.with.SP6.ISO MSDN http://ftp.sds ...

  2. ArcGIS图例标注上标和下标

    1. 插入图例 在布局视图下,从插入中选择"图例",我们获得以下的样式: 2. 转为单个图形 选择图例,点击右键,选择"转化为图形",再次点击右键,点击&quo ...

  3. 快排的python实现

    快排的python实现 #python 2.7 def quick_sort(L): if len(L) <= 1: return L else: return quick_sort([lt f ...

  4. C++之内核对象进行线程同步

    用户模式下的线程同步机制提供了非常好的性能,但他们也的确存在一些局限性,而且不适用于许多应用程序,例如,对Interlocked系列函数只能对一个值进行操作,它们从来不会把线程切换到等待状态.我们可以 ...

  5. LeetCode Split Concatenated Strings

    原题链接在这里:https://leetcode.com/problems/split-concatenated-strings/description/ 题目: Given a list of st ...

  6. UI多线程调用:线程间操作无效: 从不是创建控件"Form1"的线程访问它.

    有两种方式解决 1.在窗体构造函数中写Control.CheckForIllegalCrossThreadCalls =false;2.使用Invoke等委托函数. 问题原因是.net2.0以后拒绝多 ...

  7. niosii 改变软核之后重新编译方法

    操作系统:Win7 64 bit 开发环境:Quartus II 12.0 (64-Bit)  + Nios II 12.0 Software Build Tools for Eclipse 使用Qu ...

  8. BZOJ4560 [JLoi2016]字符串覆盖

    题意 字符串A有N个子串B1,B2,-,Bn.如果将这n个子串分别放在恰好一个它在A中出现的位置上(子串之间可以重叠) 这样A中的若干字符就被这N个子串覆盖了.问A中能被覆盖字符个数的最小值和最大值. ...

  9. Ubantu 新建用户后没有生成对应文件夹

    原命令:useradd python 改正后:useradd python -m 后成功在home目录下创建文件夹 原因: man useradd就可以看到如此介绍:Create the user´s ...

  10. 分布式锁之三:Redlock实现分布式锁

    之前写过一篇文章<如何在springcloud分布式系统中实现分布式锁?>,由于自己仅仅是阅读了相关的书籍,和查阅了相关的资料,就认为那样的是可行的.那篇文章实现的大概思路是用setNx命 ...