IO相关的常用工具包

常用工具包Commons-io

Commons-io是apache开源基金组织提供的一组有关IO操作的开源工具包。

作用:提高IO流的开发效率。

使用步骤:

1、在项目中创建一个文件夹:lib

2、将jar包复制粘贴到lib文件夹

3、右键点击jar包,选择Add as Library--->点击OK

4、在类中导包使用

java 复制代码
public class CommonsIODemo1 {
    public static void main(String[] args) throws IOException {
    /*
    FileUtils类
       static void copyFile(File srcFile, File destFile)                 复制文件
       static void copyDirectory(File srcDir, File destDir)              复制文件夹
       static void copyDirectoryToDirectory(File srcDir, File destDir)   复制文件夹
       static void deleteDirectory(File directory)                       删除文件夹
       static void cleanDirectory(File directory)                        清空文件夹
       static String readFileToString(File file, Charset encoding)       读取文件中的数据变成成字符串
       static void write(File file, CharSequence data, String encoding)  写出数据

    IOUtils类
       public static int copy(InputStream input, OutputStream output)    复制文件
       public static int copyLarge(Reader input, Writer output)          复制大文件
       public static String readLines(Reader input)                      读取数据
       public static void write(String data, OutputStream output)        写出数据
    */
        File src1 = new File("myio\\a.txt");
        File dest1 = new File("myio\\copy.txt");
        FileUtils.copyFile(src1,dest1);//复制文件

        File src2 = new File("D:\\aaa");
        File dest2 = new File("D:\\bbb");
        FileUtils.copyDirectoryToDirectory(src2,dest2);//复制文件夹,会把aaa文件夹复制到bbb文件夹里面

        File src3 = new File("D:\\bbb");
        FileUtils.cleanDirectory(src3);//清空文件夹
    }
}

常用工具包Hutool

Hutool官网: https://hutool.cn/

API文档: https://apidoc.gitee.com/dromara/hutool/

中文使用文档: https://hutool.cn/docs/#/

java 复制代码
public class Test1 {
    public static void main(String[] args) {
    /*
     FileUtil类:
       file:根据参数创建一个file对象
       touch:根据参数创建文件

       writeLines:把集合中的数据写出到文件中,覆盖模式。
       appendLines:把集合中的数据写出到文件中,续写模式。
       readLines:指定字符编码,把文件中的数据,读到集合中。
       readUtf8Lines:按照UTF-8的形式,把文件中的数据,读到集合中

       copy:拷贝文件或者文件夹
    */
        File file1 = FileUtil.file("D:\\", "aaa", "bbb", "a.txt");
        System.out.println(file1);//D:\aaa\bbb\a.txt

        File touch = FileUtil.touch(file1);
        System.out.println(touch);

        ArrayList<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("aaa");
        list.add("aaa");
        File file2 = FileUtil.writeLines(list, "D:\\a.txt", "UTF-8");
        System.out.println(file2);

        ArrayList<String> list2 = new ArrayList<>();
        list2.add("aaa");
        list2.add("aaa");
        list2.add("aaa");
        File file3 = FileUtil.appendLines(list2, "D:\\a.txt", "UTF-8");//不会清空文件内容
        System.out.println(file3);
        
        List<String> list4 = FileUtil.readLines("D:\\a.txt", "UTF-8");
        System.out.println(list4);
    }
}
相关推荐
魔镜魔镜_谁是世界上最漂亮的小仙女1 分钟前
java-maven依赖管理
java·后端·全栈
Kim Jackson3 分钟前
我的世界Java版1.21.4的Fabric模组开发教程(十三)自定义方块状态
java·游戏·fabric
异常君8 分钟前
Java 双冒号(::)操作符实战解析与类型推断机制
java·代码规范·函数式编程
AA-代码批发V哥10 分钟前
Java多线程实现之Thread类深度解析
java
快乐肚皮20 分钟前
Spring Framework 6:核心升级特性
java·spring
&岁月不待人&34 分钟前
实现弹窗随键盘上移居中
java·kotlin
残*影40 分钟前
Spring Bean的初始化过程是怎么样的?
java·后端·spring
黎䪽圓1 小时前
【Java多线程从青铜到王者】单例设计模式(八)
java·开发语言·设计模式
Java技术小馆1 小时前
面试被问 Java为什么有这么多O
java·后端·面试
我是初九1 小时前
【李沐-动手学深度学习v2】1.Colab学习环境配置
人工智能·python·学习·colab