Javaのノート(day23-day26)

 IOストリーム
のテキストファイルをコピーし、1。

    1、明確なシステム:
        出典:のInputStream、読者の
        目的:のOutputStream、ライター
    2、明確なデータ:
        出典:プレーンテキストそれは?Readerはある
        目的、それはプレーンテキストのですか?それは作家である
    :3、特に設備
        ソース:ハードディスク上のファイル。FileReaderの
        目的:ハードディスク上のファイル。FileWriter
        FileReaderのFR =新しい新規FileReader( "A.TXT");
        てFileWriter FW =新しい新しいてFileWriter( "B.TXT");
    4、余分な機能を必要としますか?
        必要な、効率的な、緩衝液を用いて
        BufferedReaderのBUFRをBufferedReaderの新しい新=(FileReaderの新しい新規( "A.TXT"));
        BufferedWriterの、BUFW BufferedWriterの、新しい新=(新しい新しいてFileWriter( "B.TXT"));
        
        
2、キーボード入力を読み取り、データ・ストレージファイルへ。
    1、明確なシステム:
        出典:のInputStream、リーダー
        目的:のOutputStream、ライター
    2、明確なデータ:
        出典:プレーンテキストそれは?Readerはある
        目的、それはプレーンテキストのですか?それは作家である
    3、特に設備:
        出典:キーボード、System.inの
        目的:ハードディスク、てFileWriter
        = System.inでのInputStream;
        てFileWriter FW =新しい新しいてFileWriter( "A.TXT");
    4は、余分な機能を必要としますか?
        、システムのリーダーのために明確にソースが必要です。しかし、ソースデバイスは、System.inです。
        したがって、テキストデータの操作を容易にするために、ソース・キャラクタ・ストリームに変換されます。私たちは、ストリームを変換する必要があります。InputStreamReader
        InputStreamReaderのISR =新しい新しいInputStreamReaderの(System.in);
        てFileWriter FW =新しい新しいてFileWriter( "A.TXT");
        必要はありませ効率的なの必要性?。バッファ
        BufferedReaderのBUFR BufferedReaderの新しい新=(InputStreamReaderの新しい新しい(System.in))を、
        BufferedWriterの、BUFW BufferedWriterの、新しい新=(新しい新しいてFileWriter( "A.TXT"));
        

図3は、データがコンソールに表示され、テキストファイルを読み込みます。
        1、明確なシステム:
            出典:のInputStream、読者の
            目的:のOutputStream、ライター
        2、明確なデータ:
            出典:プレーンテキストそれは?Readerはある
            目的、それはプレーンテキストのですか?それは作家である
        :3、特に機器
            出典:ハードディスクファイル、FileReaderの。
            目的:コンソール:のSystem.out。
            FileReaderのFR =新しい新規FileReader( "A.TXT");
            のOutputStream OUT =のSystem.out;
        4、追加機能が必要ですか?
            ソースはテキストデータであるので、ライターシステムを決定します。したがって、文字データの操作を容易にするために
            必要な文字列が、それはまた、出力バイトストリームの目的です。
            変換ストリームのOutputStreamWriter必要
            FileReaderのFileReaderのFR =新しい新規( "A.TXTを");
            のOutputStreamWriterのOutputStreamWriter新しい新しいOSW =(のSystem.out)。
            
            効率的なためにそれが必要ですか?それは必要です。
            =新規新しいBUFR BufferedReaderのBufferedReaderの(新しい新規FileReader( "A.TXT"));
            BufferedWriterの、BUFW BufferedWriterの、新しい新=(のOutputStreamWriter新しい新しい(のSystem.out));
            


4、キーボード入力、コンソール上で提示されたデータを読み出します。
        1、明確なシステム:
            出典:のInputStream、読者の
            目的:のOutputStream、ライター
        2、明確なデータ:
            出典:プレーンテキストそれは?Readerはある
            目的、それはプレーンテキストのですか?ライターです
        :3、特に機器
            出典:キーボード:System.in
            目的:コンソール:のSystem.out
            = System.inでのInputStream、
            OutputStreamのOUT =のSystem.out;
        4は、余分な機能を必要としますか?
            データはテキストデータを処理し、文字ストリーム方式を決定されているため。
            文字データの操作を容易にするために、送信元と宛先とすることができる文字列に変換されます。変換フローを使用してください。
            効率を改善するために、バッファ使用
            BufferedReaderのBUFR BufferedReaderの新しい新=(InputStreamReaderの新しい新しい(Systme.in));
            ; BufferedWriterの、BUFW BufferedWriterの、新しい新=(のOutputStreamWriter新しい新しい(のSystem.outに))
            
            


。5、指定されたコードに応じて、ファイルをテキストファイルを読み込みテーブルのUTF-8は、別のファイルに保存され、保存されています。
        1、明確なシステム:
            出典:のInputStream、読者の
            目的:のOutputStream、ライター
        2、明確なデータ:
            出典:プレーンテキストそれは?Readerはある
            目的、それはプレーンテキストのですか?ライターです
    
        。:3、デバイスクリア
            。出典:ハード:FileReaderの
            目的:ハード:てFileWriter
            
            FileReaderのFileReaderのfrを=新新( "A.TXT");
            てFileWriterてFileWriter新しい新FW =( "B.TXTは");
        4、追加機能:。
            注意:ファイルの目的が、しかし、符号化テーブルを指定する必要があります。
            テキストファイル自体の直接操作してFileWriterは、ローカルのデフォルトのコード表で構築されています。はっきりコード表を指定していません。
            その後、変換を必要とします。OutputStreamWriter、この変換されたストリームは、バイトの出力ストリームを受信する必要があり、
            オブジェクトは、ファイルに対応します。この場合、出力ストリームのファイルバイトストリームを使用して操作対象です。。のFileOutputStream
            FileReaderのFR =新しい新規FileReader( "A.TXT");            
            のOutputStreamWriter OSW =新新のOutputStreamWriter(新新のFileOutputStream( "B.TXT")、 "UTF-8");
            
            効率的なの必要性、それは?
            =新規新しいBUFR BufferedReaderのBufferedReaderの(新しい新規FileReader( "A.TXT"));
            BufferedWriterの、BUFWは=
                新しい新しいBufferedWriterの、( "UTF-8"のOutputStreamWriter新しい新しい(新しい新たFileOutputStream( "B.TXT")))。
    
        
            
これまでのところ、10ストリームオブジェクトのマスターキー。
文字のストリーム:
FileReaderの
てFileWriter

BufferedReaderの
BufferedWriterの

InputStreamReaderの
OutputStreamWrierの
バイトストリーム:

のFileInputStream
たFileOutputStream

にBufferedInputStream
なBufferedOutputStream

ファイルカテゴリ:
    オブジェクトとしてカプセル化するためのファイルとフォルダ。
    
    1作成しました。
        ブールでCreateNewFile():ファイルが存在しない場合は、それがすでに存在する場合、それは、作成され、作成されていません。これは、出力ストリームと同じで報道されません。        
        MKDIRブール();
        ブールmkdirs();
    2、削除。
        削除()BOOLEAN;
        ボイドdeleteOnExit();
        
    3、得る:
        文字列getAbsolutePath();
        文字列ある、getPath();
        文字列のgetParent();
        文字列のgetName();
        長い長さ();
        ロングLASTMODIFIED();
        
    
    図4は、決定される:
        ブールEXISTS ();
        ISFILEブール();
        ブールisDirectory();

ストリームオブジェクトIOの他の機能:

1、プリントストリーム:
    のPrintStream:バイトの出力ストリーム。
        特徴:
        1、Fileオブジェクトのコンストラクタは、文字列のパス、出力バイトストリームを受け取ります。これは、印刷は多くの目的を持つことができることを意味します。
        図2に示すように、オブジェクトは、印刷方法、印刷のprintlnのユニークな方法を含む、任意のタイプのデータを印刷することができます。
        図3は、ユニークな方法は、宛先への出力データのうち、印刷のようなデータ提示の任意の種類のままであってもよいです。
            OutputStreamの親クラスの書き込みの場合は、書き出されたデータの最下位バイトがあります。
            
    PrintWriter:文字出力ストリーム。
        特徴:
        1、データが文字で操作、PrintStreamをより便利にするために、PrintWriterを選択することが可能です。
        2、それはFileオブジェクトのコンストラクタは、文字列のパス、出力バイトストリーム、文字の出力ストリームを受け取ることができます。
        パラメータは、出力ストリームである場合、図3に示すように、コンストラクタは、それが他のパラメータが自動的に、真の実効のprintlnメソッドを真リフレッシュ指定することによって行うことができます。

ときに使用するには?
データは、性能を確保する必要があるとすると、あなたは完了するために、ストリームを印刷するにはPrintメソッドを使用するので、より便利にすることができます。
原則としてそのまま自然を保証する:実際には、書き込み動作時に、データの列に変換されます。



たSequenceInputStream:
    特徴:
    1、およびバイトの複数のストリームを読み取り、そして、ストリームに結合ソースに複数のソースを読み取り、操作しやすいです。
    2、インターフェースは、列挙Collections.enumeration(コレクション)によって必要とされ得る
    


のObjectInputStreamたObjectOutputStreamと

オブジェクトのシリアライゼーションおよびデシリアライゼーション。

readObjectメソッドのwriteObject

Serializableのマーカーインターフェイスの

キーワード:過渡


のRandomAccessFile:
    特徴:
    1、読み、また書くことができます。
    図2は、アレイは、読み出しと書き込みの動作を経て完成された、大きな内部バイト配列を維持します。
    図3に示すように、ポインタ位置getFilePointer方法を取得することにより、ポインタの位置を求める方法で提供されてもよいです。
    図4に示すように、オブジェクトの内容は、バイトの入力ストリームと出力バイトストリームをカプセル化しなければなりません。
    5、オブジェクトファイルのみを操作することができます。
    
    それは、読み取りを操作するための方法によってアレイ上の任意の位置からのものとシークポインタ書き込むことができる
    データの完全な変形を。
    しかし、注意してください:データは定期的にする必要があります。

パイプ流:Streamオブジェクトとマルチスレッド技術の組み合わせを必要とします。
PipedOutputStreamの
持つPipedInputStream

基本的な動作データ型の値。
    DataInputStreamの
    DataOutputStreamを

。设备是内存的流对象
するByteArrayInputStream ByteArrayOutputStream
CharArrayReader CharArrayWriter

IO流体系:

字符流:
リーダー
    | --BufferedReader:
        | --LineNumberReader
    | --CharArrayReader
    | --StringReader
    | --InputStreamReaer
        | --FileReader


ライター
    | --BufferedWriter
    | --CharArrayWriter
    | --StringWriter
    | --OutputStreamWriter
        | --FileWriter
    | --PrintWriter

字节流:
のInputStream
    | --FileInputStream:
    | --FilterInputStream
        | --BufferedInputStream
        | --DataInputStream
    | --ByteArrayInputStream
    | --ObjectInputStream
    | --SequenceInputStream
    | --PipedInputStream

のOutputStream
    | --FileOutputStream
    | --FilterOutputStream
        | --BufferedOutputStream
        | --DataOutputStream
    | --ByteArrayOutputStream
    | --ObjectOutputStream
    | --PipedOutputStream
    | --PrintStream

おすすめ

転載: www.cnblogs.com/wanggang521/p/11032726.html