Apache commons-io提供了很多类,这里只介绍FileUtils类。
FileUtils类提供了一些操作文件对象的实用方法,包括文件的读取、写入、复制和比较等。
比如逐句读取和写入一个文件可以使用如下方法:
File file = new File("E:/data/a.csv"); List lines = FileUtils.readLines(file,"UTF-8"); FileUtils.writeLines(file2, lines, true);
其中,public static void writeLines(File file, Collection<?> lines, boolean append) throws IOException
实现了逐句写入一个文件,参数boolean append为"true"时表示添加文件,而不是新建新的文件。
当合并多个文件时必须设置为ture。若只对单个文件进行操作,无需设置此参数。
下面通过一个例子介绍使用commons-io实现单文件读取和写入。
需求:将"E:/data/车站一次/阿坝藏族羌族自治州.csv"文件中的内容读取,写入到"E:/data//车站一次.csv"。
1.新建一个java project。
2.导jar包,commons-io-2.4.jar 。
3.代码如下:
public class FileOperation { public static void main(String[] args) { sigle(); } public static void sigle(){ File file1 = new File( "E:/data/车站一次/阿坝藏族羌族自治州.csv"); File file2 = new File( "E:/data//车站一次.csv"); try { List lines = FileUtils.readLines(file1, "GBK"); FileUtils.writeLines(file2, lines,true); } catch (IOException e1) { e1.printStackTrace(); } } }