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