java常用文件工具类

java常用工具类(一)

主要是Java操作文件及及IO流的一些常用库,是Apache对java的IO包的封装,这里面文件类工具有两个非常核心的类FilenameUtils跟FileUtils,IO流常用工具类IOUtils。

##FilenameUtils工具类

FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。

//导入对应的jar
//import org.apache.commons.io.IOUtils;

//创建文件
File file = new File("文件路径");
// 返回文件后缀名
FilenameUtils.getExtension("c:\\a.java");
// 返回文件名,不包含后缀名
FilenameUtils.getBaseName("c:\\a.java");
// 返回文件全名
FilenameUtils.getName("c:\\a.java");
// 按命令行风格组合文件路径  c:\my\test.text
FilenameUtils.concat("c:\\my","test.text");
// 删除后缀名 c:\a
FilenameUtils.removeExtension("c:\\a.java");
// 使路径正常化
FilenameUtils.normalize("c:\\a.java");

// 匹配通配符
FilenameUtils.wildcardMatch("c:\\a.java","c");
// 路径分隔符改成unix系统格式的 c:/a.java
FilenameUtils.separatorsToUnix("c:\\a.java");
// 获取文件路径,不包括文件名
FilenameUtils.getFullPath("c:\\a.java");
// 检查文件后缀名是不是传入参数(List<String>)中的一个
FilenameUtils.isExtension()

##FileUtils工具类

FileUtils就是一个简单常用的文件工具类,使用时也可以自定义工具类。

  //导入对应的jar
  //import org.apache.commons.io.FileUtils;
  
    // 输入输出的文件自定义
    File file = new File("c:/dddd");
    // 获取文件输入的文件流
    FileInputStream in = FileUtils.openInputStream(file);
    //获取文件输出的文件流
    FileOutputStream out = FileUtils.openOutputStream(file);
    // 获取size对应的文件大小转换值,最小单位为byte。单位包含:bytes、KB、MB、GB
    FileUtils.byteCountToDisplaySize(8);
    // 计算一个文件使用指定的校验对象的校验
    FileUtils.checksum(file,checksum);
    // 计算使用CRC32校验程序文件的校验和
    FileUtils.checksumCRC32(file);
    // 两个文件内容对比
    FileUtils.contentEquals(file,new File("newFile"));

    ArrayList<File> files = new ArrayList<>();
    // 将文件集合转换为文件数组
    File[] files1 = FileUtils.convertFileCollectionToFileArray(files);
    // 强制创建文件夹,如果该文件夹父级目录不存在,则创建父级
    FileUtils.forceMkdir(file);
    // 列举某个目录下的文件(根据过滤器)
    FileUtils.listFiles(file,new PrefixFileFilter("前缀"),new SuffixFileFilter("后缀"));
    //拷贝一个文件到指定的目录文件
    FileUtils.copyFileToDirectory(file,new File("文件夹名"));
    // 复制文件到指定文件
    FileUtils.copyFile(file,new File("newFile"));
    // 复制文件夹内容·到指定文件
    FileUtils.copyDirectory(file,new File("newFileDir"));
    // 以字符形式读取文件内容
    FileUtils.readFileToString(file);
    // 复制文件并更新文件记录时间
    FileUtils.copyFile(file,new File("新文件地址"),true);
    // 删除不为空的文件夹
    FileUtils.forceDeleteOnExit(file);
    // 强制删除文件
    FileUtils.forceDelete(file);
    // 清除文件夹里的文件
    FileUtils.cleanDirectory(file);

##IOUtils工具类

IOUtils可以帮助我们优雅的操作流。、

    //导入对应的jar
    //import org.apache.commons.io.IOUtils;

    // 把字符转换为输入流
    InputStream in = IOUtils.toInputStream("df");

    FileOutputStream out = FileUtils.openOutputStream(new File(""));
    // IO流数据复制,从输入流写到输出流中,最大支持2GB
    IOUtils.copy(in,out);
    // 同copy,支持2GB以上数据的复制
    IOUtils.copyLarge(in,out);
    //从输入流中读取多行数据,返回List<String>
    IOUtils.readLines(in);
    // 关闭一个IO流、socket、或者selector且不抛出异常,通常放在finally块
    IOUtils.closeQuietly(in);
    // 从输入流、URI获取byte[]
    IOUtils.toByteArray(in);
    // 从输入流返回一个迭代器,根据参数要求读取的数据量,全部读取,如果数据不够,则失败
    IOUtils.lineIterator(in,"utf-8");
    // 转换IO流、 Uri、 byte[]为String
    IOUtils.toString(in);
    //把字节. 字符等写入输出流
    IOUtils.write("zifu",out);
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值