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);
    }
}
相关推荐
猫猫的小茶馆6 分钟前
【STM32】FreeRTOS 任务的删除(三)
java·linux·stm32·单片机·嵌入式硬件·mcu·51单片机
天天摸鱼的java工程师11 分钟前
🔧 MySQL 索引的设计原则有哪些?【原理 + 业务场景实战】
java·后端·面试
空影学Java28 分钟前
Day44 Java数组08 冒泡排序
java
追风少年浪子彦1 小时前
mybatis-plus实体类主键生成策略
java·数据库·spring·mybatis·mybatis-plus
创码小奇客1 小时前
Talos 使用全攻略:从基础到高阶,常见问题一网打尽
java·后端·架构
jackzhuoa2 小时前
java小白闯关记第一天(两个数相加)
java·算法·蓝桥杯·期末
Rover.x2 小时前
内存泄漏问题排查
java·linux·服务器·缓存
midsummer_woo2 小时前
基于spring boot的纺织品企业财务管理系统(源码+论文)
java·spring boot·后端
zc-code2 小时前
Spring Boot + @RefreshScope:动态刷新配置的终极指南
java·spring boot·后端
何中应2 小时前
EasyExcel使用(二:写出)
java·后端·maven·excel