java基础-IO流(Commons-io)
·
在日常开发过程中,大部分的时候,我们都不会自己写IO流,一来是太复杂,容易和核心的业务代码混淆,二来自己写的IO流往往效率低,存在问题,给后续项目二次开发带来很多不必要的麻烦。
Commons-io是apache开源基金组织提供的一组有关IO操作的开源工具包。
作用:提供IO流的开发效率




使用Commons-io要先导包


右键添加为库


package Day12_IO;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.input.ReaderInputStream;
import java.io.*;
import java.util.List;
public class IOTest04 {
public static void main(String[] args) throws IOException {
//使用Commons-io来操作IO
//1、copyFile:复制文件
//E:\test\\test.txt复制生成E:\doc\doc.txt下面
// File srcFile = new File("E:\\test\\test.txt");
// File destFile = new File("E:\\doc\\doc.txt");
// FileUtils.copyFile(srcFile,destFile);
//2、copyDirectory:复制文件夹
//E:\test\test1复制到E:\doc下,生成一个test2文件夹
//File srcDirectory = new File("E:\\test\\test1");
//File destDirectory = new File("E:\\doc\\test2");
//FileUtils.copyDirectory(srcDirectory,destDirectory);
//copyDirectoryToDirectory和copyDirectory的区别在于,copyDirectoryToDirectory会把源文件的文件夹复制到目的地
//copyDirectory就只会把源文件的文件夹里面的内容复制到目的地
//3、copyDirectoryToDirectory
// File srcDirectory = new File("E:\\test\\test1");
// File destDirectory = new File("E:\\doc");
// FileUtils.copyDirectoryToDirectory(srcDirectory,destDirectory);
//4、deleteDirectory:删除文件夹,这个是目录都不会保留
//删除E:\doc\test1
//File file = new File("E:\\doc\\test1");
//FileUtils.deleteDirectory(file);
//5、cleanDirectory:清空文件夹内的内容,这个目录会保留
// File file = new File("E:\\doc\\test1");
// FileUtils.cleanDirectory(file);
//6、readFileToString
// File file = new File("E:\\test\\test1\\test.txt");
// String s = FileUtils.readFileToString(file, "utf-8");
// System.out.println(s);
//7、写出数据,默认不加true的时候是默认不续写的,加了true默认是续写
// File file = new File("E:\\test\\test1\\test.txt");
// String content = "Hello, World!\n这是使用FileUtils写入的文本。";
// FileUtils.write(file,content,"UTF-8",true);
// System.out.println(FileUtils.readFileToString(file, "utf-8"));
//IOUtils类
//1、copy:复制文件,要注意一下copy的参数类型
// FileInputStream fis = new FileInputStream("E:\\test\\test1\\test.txt");
// FileOutputStream fos = new FileOutputStream("E:\\doc\\test1\\doc.txt");
// IOUtils.copy(fis,fos);
//2、copyLarge:复制大文件
// FileInputStream fis = new FileInputStream("E:\\test\\test1\\test.txt");
// FileOutputStream fos = new FileOutputStream("E:\\doc\\test1\\doc.txt");
// IOUtils.copyLarge(fis,fos);
//3、readLines读取数据
// FileInputStream fis = new FileInputStream("E:\\test\\test1\\test.txt");
// for (String s : IOUtils.readLines(fis, "UTF-8")) {
// System.out.println(s);
// }
//4、write,IOUtils本身是不支持续写的,如果要续写,就在基本流上设置true
FileOutputStream fos = new FileOutputStream("E:\\doc\\test1\\doc.txt",true);
String s="中国";
IOUtils.write(s, fos, "UTF-8");
}
}
更多推荐




所有评论(0)