IO流-FileUtils的使用(十一)

IO流-FileUtils的使用(十一)

  1. FileUtils类中常用的方法

    • cleanDirectory :清空目录,但不删除目录
    • contentEquals :比较两个文件的内容是否相同
    • copyDirectory :将一个目录内容拷贝到另一个目录。可以通过FileFilter过滤需要拷贝的文件
    • copyFile :将一个文件拷贝到一个新的地址
    • copyFileToDirectory :将一个文件拷贝到某个目录下。
    • copyInputStreamToFile ;将一个输入流的内容拷贝到某个文件。
    • copyFile:将一个文件拷贝到一个新的地址。
    • copyFileToDirectory :将一个文件拷贝到某个目录下。
    • copyInputStreamToFile :将一个输入流中的内容拷贝到某个文件
    • deleteDirectory :删除目录
    • deleteQuietly :删除文件
    • listFiles :列出指定目录下的所有文件
    • openInputStream :打开指定文件的输入流
    • readFileToString :将文件内容作为字符串返回
    • readLines :将文件内容按行返回到一个字符串数组中
    • size :返回文件或目录的大小
    • write :将文件字符串内容直接写到文件中
    • writeByteArrayToFile :将字节数组内容写到文件中
    • writeLines :容器中的元素toString 方法返回的内容依次写入文件中
  2. FileUtils类的使用一

    import org.apache.commons.io.FileUtils;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStreamReader;
    
    public class FileUtilsDemo01 {
          
          
        public static void main(String[] args)throws Exception {
          
          
            //将字节流转字符流当中,也有utf-8指定编码格式
            //new InputStreamReader(new FileInputStream("d:/sxt.txt"),"utf-8");
            //将文件内容作为字符串输出
            String content= FileUtils.readFileToString(new File("d:/sxt.txt"),"utf-8");//utf-8指定编码格式
            System.out.println(content);
            //现在我们读取文本文件一行就搞定了,比java.io提供的流对象更加方便、简洁
        }
    }
    
    
  3. FileUtils类的使用二

    import org.apache.commons.io.FileUtils;
    
    import java.io.File;
    import java.io.FileFilter;
    
    public class FileUtileDemo2 {
          
          
        public static void main(String[] args)throws Exception {
          
          
            //将一个目录内容拷贝到另一个目录,可以通过FileFilter过滤需要拷贝的文件
            //new File("d:/a")拷贝文件的源位置,new File("c:/a")拷贝文件的目的位置,FileFilter接口过滤需要拷贝的文件
            FileUtils.copyDirectory(new File("d:/a"), new File("c:/a"), new FileFilter() {
          
          
               //在文件拷贝时的过滤条件
                @Override
                public boolean accept(File pathname) {
          
          
                    if (pathname.isDirectory()||pathname.getName().endsWith("html")){
          
          
                        //只拷贝目录和html文件
                        return true;
                    }
                    return false;
                }
            });
        }
    }
    
    
  4. IOUtils的使用

    一些常用的方法:

    • buffer 方法:将传入的流 进行包装,变成缓冲流。并可以通过参数指定缓冲的大小
    • closeQueitly 方法:关闭流
    • contentEquals 方法:比较两个流中的内容是否一致
    • copy 方法:将输入流中的内容拷贝到输出流中,并且可以指定字符编码
    • copyLarge 方法:将输入流中的内容拷贝到输出流中,适合大于2G内容的拷贝
    • lineIterator 方法:返回可以迭代每一行内容的迭代器
    • read 方法:将输入流中的部分内容读入都字节数组中
    • readFully 方法:将输入流中的所有内容读入到字节数组中
    • readLine 方法:读入输入流内容中的一行
    • toBufferedInputStream、toBufferedReader:将输入转为带缓存的输入流
    • toByArray、toCharArray:将输入流的内容转为字节数组、字符数组
    • toString:将输入流或数组中的内容转化为字符串
    • write 方法:想流里面写入内容
    • writeLine 方法:想流里面写入一行内容
  5. IOUtils的具体实现

    import org.apache.commons.io.IOUtils;
    
    import java.io.FileInputStream;
    
    public class IOUtilsDemo {
          
          
        public static void main(String[] args)throws Exception {
          
          
            //用IOUtils类中的toString方法,将一个字节输入流转换成字符串
            String content=IOUtils.toString(new FileInputStream("d:/sxt.txt"),"utf-8");
            System.out.println(content);
        }
    }
    
    

猜你喜欢

转载自blog.csdn.net/Xun_independent/article/details/114919269