IO框架-commons-io

commons-io是apache开源基金组织提供的一组有关IO操作的类库,可以提高IO功能开发的效率

commons-io工具包提供了很多有关IO操作的类。有两个主要的类FileUtils、IOUtils。

一.commons-IO

  创建lib文件夹

  将commons-io.jar拷贝到lib文件夹

  右键lib文件夹,点击Add  as Library加入到库中

  点击下载commons-io.jar包

二.FilenameUtils

  用来处理文件名(包含文件路径)的,可以解决不同操作系统文件名称规范不同的问题

  常用方法:

    getExtension(String path):获取文件的扩展名;

    getName():获取文件名;

    isExtension(String fileName,String ext)判断fileName是否是ext后缀名;

三.FileUtils

  提供文件操作(移动文件,读取文件,检查文件是否存在等等)的方法。

  常用方法:

    readFileToString(File file):读取文件内容,并返回一个String;

    writeStringToFile(File file,String content):将内容content写入到file中;

    copyDirectoryToDirectory(File srcDir,File destDir);文件夹复制

    copyFile(File srcFile,File destFile);文件复制

 

复制代码
/*
 * 完成文件的复制
 */
public class CommonsIODemo01 {
    public static void main(String[] args) throws IOException {
        //method1("D:\\test.avi", "D:\\copy.avi");
        
        //通过Commons-IO完成了文件复制的功能
        FileUtils.copyFile(new File("D:\\test.avi"), new File("D:\\copy.avi"));
    }

    //文件的复制
    private static void method1(String src, String dest) throws IOException {
        //1,指定数据源 
        BufferedInputStream in = new BufferedInputStream(new FileInputStream(src));
        //2,指定目的地
        BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(dest));
        //3,读
        byte[] buffer = new byte[1024];
        int len = -1;
        while ( (len = in.read(buffer)) != -1) {
            //4,写
            out.write(buffer, 0, len);
        }
        //5,关闭流
        in.close();
        out.close();
    }
}
复制代码

 

复制代码
/*
 * 完成文件、文件夹的复制
 */
public class CommonsIODemo02 {
    public static void main(String[] args) throws IOException {
        //通过Commons-IO完成了文件复制的功能
        FileUtils.copyFile(new File("D:\\test.avi"), new File("D:\\copy.avi"));
        
        //通过Commons-IO完成了文件夹复制的功能
        //D:\基础班 复制到 C:\\abc文件夹下
        FileUtils.copyDirectoryToDirectory(new File("D:\\基础班"), new File("C:\\abc"));
    }
}
复制代码

 

posted @   Shay_黄  阅读(146)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2017-04-01 erlang list的使用与优化建议
点击右上角即可分享
微信分享提示