使用Apache IO库操作IO与文件

--------------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】

原文地址:https://www.cnblogs.com/siwuxie095/p/6625876.html