所有人都不看好你,可你偏偏最争气
—— 24.6.14
一、介绍
IO技术开发中,代码量很大,而且代码的重复率较高。如果我们要遍历目录,拷贝自录就需要使用方法的递归调用,也增大了程序的复杂度。
二、添加第三方jar包
1.jar包
本身是一个压缩包,里面装的都是class文件,我们想使用jar包中的工具类,就需要将相应的jar包解压到我们当前的项目下
2.引入jar包
a.在当前模块下创建文件夹,取名为lib或者libs
b.将准备好的jar包,放到此文件夹下
c.对着jar包,右键-> add as library(如果我们想将lib下所有的jar包一起解压,我们就直接对着 lib文件夹右键一起解压
d.level可以选择module,此时上面叫做name的输入框会变成空的,不用管
e.直接点ok
三、工具包的使用
Ioutils类
静态方法:IOUtils.copy(inputstream in,outputstream out)传递字节流,实现文件复制。
静态方法:IOUtils.closeQuietly(任意流对象)悄悄的释放资源,自动处理close()方法抛出的异常。
IOUtils.copy(inputstream in,outputstream out)
import org.apache.commons.io.IOUtils;
import java.io.*;
public class Demo285IOUtils {
public static void main(String[] args) throws IOException {
// 静态方法:IOUtils.copy(inputstream in,outputstream out)传递字节流,实现文件复制。可以自动关闭资源,自动创建不存在的文件
IOUtils.copy(new FileInputStream("AllWillBest_Java/4.txt"),new FileOutputStream("AllWillBest_Java/5.txt"));
}
IOUtils.closeQuietly(任意流对象)
import org.apache.commons.io.IOUtils;
import java.io.*;
public class Demo285IOUtils {
public static void main(String[] args) {
// 静态方法:IOUtils.closeQuietly(任意流对象)悄悄的释放资源,自动处理close()方法抛出的异常。
FileWriter fw =null;
try{
fw = new FileWriter("AllWillBest_Java/5.txt");
fw.write("AllWillBest_Java\n一切都会好的\n我一直相信");
}catch (Exception e){
e.printStackTrace();
}finally {
if(fw != null){
// 最终关闭资源
IOUtils.closeQuietly(fw);
}
}
}
}
Fileutils类
静态方法:Fileutils.copyDirectoryToDirectory(File src,File dest);
传递File类型的目录,进行整个目录的复制,自动进行递归遍历。
参数:
src:要复制的文件夹路径 dest:要将文件夹粘贴到哪里去
静态方法:writeStringToFile(File file,String str) 写字符串到文本文件中。
静态方法:String readFileToString(File file) 读取文本文件,返回字符串。
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class Demo286IOFillUtils {
public static void main(String[] args) throws IOException {
// 静态方法:FileUtils.copyDirectoryToDirectory(File src,File dest);
// 传递File类型的目录,进行整个目录的复制,自动进行递归遍历。
// 参数:
// src:要复制的文件夹路径 dest:要将文件夹粘贴到哪里去
FileUtils.copyDirectoryToDirectory(new File("\\D:\\2LFE\\Desktop\\java\\我一直相信"),new File("D:\\2LFE\\Desktop\\java\\一切都会好的"));
// 静态方法:writeStringToFile(File file,String str) 字符串到文本文件中。
FileUtils.writeStringToFile(new File("AllWillBest_Java/5.txt"),"一切都会好的,我一直相信");
// 静态方法:String readFileToString(File file) 读取文本文件,返回字符串。
String s = FileUtils.readFileToString(new File("AllWillBest_Java/5.txt"));
System.out.println(s);
}
}
Fileutils.copyDirectoryToDirectory(File src,File dest); 传递File类型的目录,进行整个目录的复制,自动进行递归遍历。
writeStringToFile(File file,String str) 写字符串到文本文件中。
String readFileToString(File file) 读取文本文件,返回字符串
四、快速记忆IO流对象
五、IO流下 总结
缓冲流
转换流
序列化流
打印流
Properties集合结合IO流使用
IO工具包——CommonsIO