JavaクラスおよびファイルIOパッケージ内の他のストリーム

File类(Package java.io)

  クラスファイルの操作のために。

  一般的な方法:1つのコンストラクタ:. 公開  ファイル(文字列の  パス名); //受信ファイルのパスとファイル名。

       2.public  ブール  ISFILE(); //ファイルの受信パスかどうかを決定します。

       ファイルが作成が存在する場合は、//ファイルを作成して失敗し、IOストリームは同じではありません。3.publicブールでCreateNewFile()はIOExceptionがスローされます。

       4. パブリック  ブール  isDirectory(); //フォルダへの着信パスか否かを判断します。

       5. 公共  ブール  mkdirs();ディレクトリが作成に失敗した存在する場合//は、マルチレベルのディレクトリを作成します。

       6. パブリック  ブール  ()[削除]; //失敗したリターンはfalseを削除します。

       7. 公共  のボイド  deleteOnExit(); //指定されたファイルを削除するとプログラムが終了します。

       8. 公共  ブール  EXISTS(); //ファイルまたはフォルダが存在するかを決定。

パッケージsecond.study; 

インポートjava.io.BufferedWriter;
 インポートはjava.io.File;
 インポートjava.io.FileWriter;
 インポートにjava.io.IOException;
 インポートjava.util.ArrayListのの、
 輸入はjava.util.List; 

/ ** 
 *指定されたファイルに格納されたフォルダの絶対パス
 * 
 * @paramの引数
  * / 

パブリック クラスのテスト{ 

    公共 静的 ボイドメイン(文字列[]引数)がスローIOExceptionが{ 
        ファイルDIR = 新しい新ファイル(「F:\\ \\ JAVA_studyコード" ); 
        リスト <ファイル>リスト=新しい新しいのArrayList <ファイル> ();
         IF(!{dir.exists())
             スロー 新しい新しいのRuntimeException( "フォルダが存在しない" ); 
        } 
        file2List(DIR、リスト); 
        ファイルdesFile = 新しい新しいファイル(DIR、「dirname.txt " ); 
        list2File(リスト、desFile.toString()); 
    } 

    / ** 
     *コレクションの発展に格納されたコンテンツフォルダ
     * 
     * @param DIR 
     * @paramのリスト
      * / 
    パブリック 静的な 無効 file2List(ファイルディレクトリ、リスト<ファイル> リスト){ 

        ファイル[]ファイル= Dir.listFiles();
         のため(ファイルファイル:ファイル){
             IF (file.isDirectory()){ 
                file2List(ファイル、リスト); 
            } { 
                List.add(ファイル); 
            } 
        } 
    } 

    / ** 
     *リスト指定したファイルに保存されたファイル
     * @paramの一覧
     * @param desString
      * / 
    パブリック 静的な 無効 list2File(一覧<ファイル> リスト、文字列desString){ 
        BufferedWriterの、BUFW = ヌル;
         試み{
            BUFW= 新しい BufferedWriterの(新しいてFileWriter(desString))。
            以下のための(ファイルのファイル:リスト){ 
                bufw.write(file.getAbsolutePath()); 
                bufw.newLine(); 
                bufw.flush(); 
            } 
        } キャッチ(例外例){
             スロー 新規のRuntimeExceptionを( "目的地文件创建错误" )。
        } 最後に{
             試み{
                 場合(!BUFW = ヌル
                    bufw.close(); 
            } キャッチ(例外EX){
                 スロー 新しい新規のAのRuntimeException( "ファイルクローズ宛先エラー" ); 
            } 
        } 
    } 
}

 オブジェクトストリーム(のObjectInputStream、ObjectOutputStreamの)

  つまり、オブジェクトの永続性であります

  ObjectInputStreamの

  主な方法:1コンストラクタ:公共  のObjectInputStream(入力ストリーム  では)スローIOExceptionが ; //ストリームは、オブジェクト・ファイルに関連付けられています。

       2.公共の最終的なオブジェクトのreadObject()はIOExceptionが、ClassNotFoundExceptionがスロー; //オブジェクトファイルを読み込みます。

  ObjectOutputStreamの

  主な方法:1つのコンストラクタ:公共  のObjectOutputStream(OutputStreamの  OUT)がスローIOExceptionが、オブジェクトファイルに関連付けられている//ストリーム。

        2. 公共の最終的な  空  のwriteObject(オブジェクト  objが)スローIOExceptionが ; //オブジェクトがファイルに書き込まれます。

以下のためのパッケージ変更。second.study 

インポートしたjava.io.Serializable; 

パブリック クラスの人が実装Serializableの{ 
    
//     現在の理解:一般的にカバーされるべきではありませんが、日食黄色の感嘆符をカバーしています。
    プライベート 静的 最終 長い serialVersionUIDの= 1L ;
     プライベート文字列名;
 //     あなたが他の配列の値がtransientキーワードを使用することができない場合。
    過渡 プライベート int型年齢;
 //     今、直列化メソッドゾーンデータアップ?
    静的な文字列の国=「CN」;
     公共者(文字列名、int型年齢、文字列国){
         スーパー();
        この .nameの= 名前;
        この .age = 年齢; 
        Person.country = 国; 
    } 
    @Override 
    パブリック文字列のtoString(){
         戻り "人物[NAME =" +名+ "年齢=" +年齢+ "国=" +国+ "]" 
    } 
    
}
パッケージsecond.study; 

輸入java.io.FileInputStream;
輸入java.io.FileOutputStreamは、
輸入java.io.ObjectInputStream。
輸入java.io.ObjectOutputStreamの; 

パブリック クラスのテスト{ 

    公共 静的 ボイドメイン(文字列[]引数)をスロー例外{ 

        writeObjを(); 
        readObj(); 
    } 

    パブリック 静的 ボイド writeObj()スロー例外{ 
        たObjectOutputStream OOS = 新しい ObjectOutputStreamの(新しいたFileOutputStream( "obj.txt"を)); 
        oos.writeObject(人物( "Zhangsan"、20、 "KR" )); 
        oos.close(); 
    } 

    パブリック 静的 ボイド readObj()スロー{例外
        のObjectInputStream OIN = 新しい ObjectInputStreamの(新規のFileInputStream( "obj.txt" )); 
        人物P = (人物)oin.readObject(); 
        )(oin.close。
        System.out.println(P)。
    } 
}

RandomAccessFile

  このクラスは、IOシステムのサブクラスではなく、直接、Objectクラスを継承します。それは方法を読み書きすることがあるので、しかし、それは、IOパッケージのメンバーです。パッケージ内のアレイは、アレイのための要素による手段によって作動させることができるポインタ()メソッドのgetFilePointer位置を取得し、使用することができ、シーク()メソッドは、ポインタの位置を設定します

  主な方法:1つのコンストラクタ:. 公共  のRandomAccessFile(ファイルの  ファイル、文字列  MODE)がスローにFileNotFoundException ; //ファイルのみ、モードを操作することができます: "R"、 " RW"、 "RWS"、 "RWDを"。

       2.构造函数:公共  のRandomAccessFile(文字列  名、文字列  モード)がスローにFileNotFoundExceptionを

       3. 公衆  ロング  getFilePointer()がスローIOExceptionが ; //ポインタ位置を取得します。

       4. 公共  ボイド  (シークロングPOS)をスローIOExceptionが ; //ポインタの位置を設定します

       5. 公共  INTは  のskipBytes(INT N-)スローIOExceptionが、スキップするバイト//数は、バイトの数が実際にスキップ返します

DataInputStreamを(java.io)

  基本データ型を操作するため。基本データ型は、直接バイトに基本データ型を変換することなく、ファイルに書き込むことができます。

おすすめ

転載: www.cnblogs.com/star-491849224/p/12513711.html