IOストリーム-FileUtilsの使用(11)

IOストリーム-FileUtilsの使用(11)

  1. FileUtilsクラスで一般的に使用されるメソッド

    • cleanDirectory:ディレクトリを空にしますが、ディレクトリは削除しないでください
    • contentEquals:2つのファイルの内容が同じかどうかを比較します
    • copyDirectory:あるディレクトリの内容を別のディレクトリにコピーします。コピーする必要のあるファイルは、FileFilterでフィルタリングできます
    • copyFile:ファイルを新しいアドレスにコピーします
    • copyFileToDirectory:ファイルをディレクトリにコピーします。
    • copyInputStreamToFile;入力ストリームの内容をファイルにコピーします。
    • copyFile:ファイルを新しいアドレスにコピーします。
    • copyFileToDirectory:ファイルをディレクトリにコピーします。
    • copyInputStreamToFile:入力ストリームのコンテンツをファイルにコピーします
    • deleteDirectory:ディレクトリを削除します
    • deleteQuietly:ファイルを削除します
    • listFiles:指定されたディレクトリ内のすべてのファイルを一覧表示します
    • openInputStream:指定されたファイルの入力ストリームを開きます
    • readFileToString:ファイルの内容を文字列として返します
    • readLines:ファイルの内容を1行ずつ文字列配列に返します
    • size:ファイルまたはディレクトリのサイズを返します
    • 書き込み:ファイル文字列の内容をファイルに直接書き込みます
    • writeByteArrayToFile:バイト配列の内容をファイルに書き込みます
    • writeLines:コンテナ内の要素のtoStringメソッドによって返されるコンテンツは、ファイルに順番に書き込まれます。
  2. FileUtilsクラスの1つを使用します

    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クラス2の使用

    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の使用

    一般的に使用されるいくつかの方法:

    • バッファ方式:着信ストリームをバッファリングされたストリームにラップします。そして、あなたはパラメータを通してバッファのサイズを指定することができます
    • closeQueitlyメソッド:ストリームを閉じます
    • contentEqualsメソッド:2つのストリームのコンテンツが一貫しているかどうかを比較します
    • 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