JavaIO流APACHE-Commons组件的使用

  1. 对文件的复制操作
public class CommosCopytest {
    public static void main(String[] args) throws IOException {
       //文件到文件
//        FileUtils.copyFile(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),new File("F:/IDEA文件/Java初级IO流技术1/src/Copy.txt"));
        //文件到目录
//        FileUtils.copyFileToDirectory(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),new File("F:/IDEA文件/Java初级IO流技术1"));
        //目录到目录
//        FileUtils.copyDirectoryToDirectory(new File("F:/IDEA文件/Java初级IO流技术1/test"),new File("F:/IDEA文件/Java初级IO流技术1/test1"));
        //复制目录
//        FileUtils.copyDirectory(new File("F:/IDEA文件/Java初级IO流技术1/test"),new File("F:/IDEA文件/Java初级IO流技术1/test2"));
        //拷贝URL的内容
//        String url="http://a.hiphotos.baidu.com/image/h%3D300/sign=ae96796f44ed2e73e3e9802cb703a16d/6a63f6246b600c331fa84823144c510fd8f9a10c.jpg";
//        FileUtils.copyURLToFile(new URL(url),new File("F:/IDEA文件/Java初级IO流技术1/src/copy.jpg"));
        String datas= IOUtils.toString(new URL("http://www.baidu.com"),"utf8");
        //网上的源码写入到指定的文件中
        FileUtils.writeByteArrayToFile(new File("F:/IDEA文件/Java初级IO流技术/a.txt"),datas.getBytes("utf8"));
        System.out.println(datas);
    }
}
  1. 文件/文件夹的大小
public class Commostest {
    public static void main(String[] args) {
        Long len= FileUtils.sizeOf(new File("F:/网盘/百度云下载"));
        Long  len1=FileUtils.sizeOf(new File("C:/Users/Lenovo/Pictures/珠峰.jpg"));
        System.out.println(len+"------>"+len1);
    }
}
  1. 遍历子孙级
    *有关过滤器及其他详细细节用法见代码注释
public class Commostest1 {
    public static void main(String[] args) {
        //fileFilter 文件过滤器 你想要那些东西EmptyFileFilter.NOT_EMPYT非空文件,DirFilter为
        Collection<File> files =  FileUtils.listFiles(new File("F:/IDEA文件/Java初级IO流技术"),
                EmptyFileFilter.NOT_EMPTY,//找出非空文件//EMPTY找出空文件
                null);
        for(File file:files){
            System.out.println(file.getAbsoluteFile());
        }
        System.out.println(".......................");
        files =  FileUtils.listFiles(new File("F:/IDEA文件/Java初级IO流技术"),
                new SuffixFileFilter("txt"),//  new SuffixFileFilter("java")只找出后缀为Java的文件
                      DirectoryFileFilter.INSTANCE);//表示操作的子孙级//DirectoryFileFilter.INSTANCE文件递归的方式进行进行文件过滤扫描
        for(File file:files){
            System.out.println(file.getAbsoluteFile());
        }
        System.out.println(".......................");
        files =  FileUtils.listFiles(new File("F:/IDEA文件/Java初级IO流技术"),
                FileFilterUtils.or(new SuffixFileFilter("java"),new  SuffixFileFilter("txt")),// 找出后缀为Java与txt的文件,or后面的括号里可以放多个条件
                DirectoryFileFilter.INSTANCE);//表示操作的子孙级//DirectoryFileFilter.INSTANCE文件递归的方式进行进行文件过滤扫描
        for(File file:files){
            System.out.println(file.getAbsoluteFile());
        }
        System.out.println(".......................");
        files =  FileUtils.listFiles(new File("F:/IDEA文件/Java初级IO流技术"),
                FileFilterUtils.and(new SuffixFileFilter("java"), EmptyFileFilter.NOT_EMPTY),// and不为空且为空文件的
                DirectoryFileFilter.INSTANCE);//表示操作的子孙级//DirectoryFileFilter.INSTANCE文件递归的方式进行进行文件过滤扫描
        for(File file:files){
            System.out.println(file.getAbsoluteFile());
        }
    }
}
  1. 从文件中读取内容
    读取内容,注意字符集
    readFileToString();
    readFileToByteArray();
    readLines();
    lineIterator();
public class Commostest2 {
    //从文件中打印
    public static void main(String[] args) throws IOException {
        //读取文件
        String string = FileUtils.readFileToString(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"), "GBK");
        System.out.println(string);
        byte [] datas=FileUtils.readFileToByteArray(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"));
        System.out.println(datas.length);
        //逐行读取
       List<String> strings= FileUtils.readLines(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),"gbk");
        for(String msg:strings){
            System.out.println(msg);
        }
        System.out.println("---------------------------------------------------");
        //使用迭代器读写内容
        LineIterator iterator = FileUtils.lineIterator(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),"gbk");
                while(iterator.hasNext()){
                    System.out.println(iterator.nextLine());
                }
    }
}
  1. 写出内容
    写出内容
    write();
    writeStringToFile();
    writeByteArrayToFile();
    writeLines();
public class Commostest3 {
    public static void main(String[] args) throws IOException {
        //写出内容//这两个一样
//        FileUtils.write(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),"学习是一件伟大的事业\r\n","gbk",true);
//        FileUtils.writeStringToFile(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),"学习是一件伟大的事业","gbk",true);
        //字节数组、字节数组一定要有getBytes();其中指定字符集
        FileUtils.writeByteArrayToFile(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),"学习是一件伟大的事业".getBytes("gbk"),true);
        //将容器中的内容写出到文件里
        List<String > list=new ArrayList<>();
        list.add("张涛");
        list.add("张涛1");
        list.add("张涛2");
        //lineEnding字符之间的连接符
        //writelines一行一行的写入
        FileUtils.writeLines(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),list,"-------",true);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值