Javaの学習記録Day18(相補ストリーム)

18日目

2019年5月19日。
これは、私は、Javaを学ぶ十八日です。
この日、私は、次の知識を学びました。

データフロー

データ・ストリームは、基本データ型を読み書きすることができます

  • DataInputStreamの
    コンストラクタ:public DataInputStream(InputStream in)DataInputStreamのは、指定された基本となるInputStreamを使用して作成します。
    メンバーの方法
    public final int read(byte[] b) throws IOExceptionいくつか含まれている入力ストリームから読み込まれたバイト数、およびバッファ配列bに格納します
    public final int read(byte[] b, int off, int len) throws IOException入力ストリームからバイト配列に読み込まlenバイトまで含まれています

  • DataOutputStreamの
    コンストラクタ:public DataOutputStream(OutputStream out)指定された基本となる出力ストリームにデータを書き込むためのデータ出力ストリームを作成します。
    メンバーの方法
    public void write(int b) throws IOException指定されたバイト(パラメータbの下位8ビット)を出力ストリームに書き込まれ
    public void write(byte[] b, int off, int len) throws IOException出力ストリームに書き込まオフオフセットlenバイトから始まる指定されたバイト配列

メモリの動作フロー

メモリ操作は直接メモリ操作でファイルデータを読み書き、関連するファイルがないわけではない行った
特性:無効この電流シャットダウンを、クローズする必要はありません

  • するByteArrayInputStream
    のコンストラクタ:public ByteArrayInputStream(byte[] buf)そのバッファ配列としてBUFを使用して、するByteArrayInputStreamを作成します。
    public ByteArrayInputStream(byte[] buf, int offset, int length)そのバッファ配列としてBUFを使用して、するByteArrayInputStreamを作成します
    メンバーの方法
    public int read()この入力ストリームから次のデータバイトをお読みください。0〜255のintは、範囲内のバイトの値を返します。バイトがないので、ストリームの終わりが到着した場合、それは値を返します-1
    public int read(byte[] b, int off, int len)バイト配列にこの入力ストリームからデータのバイト数を最大len

  • ByteArrayOutputStream
    のコンストラクタ:public ByteArrayOutputStream()新しいバイト配列出力ストリームを作成します。
    public ByteArrayOutputStream(int size)(バイト単位)バッファ容量指定されたサイズで、新しいバイト配列出力ストリームを作成します
    メンバーの方法
    public void write(int b)このバイト配列出力ストリームに指定されたバイト
    public void write(byte[] b, int off, int len)(カウント、BUF、0)メソッドは効果out.writeを使用して呼び出し出力ストリームに書き込む指定された出力ストリームパラメータとしてこのバイト配列出力ストリームの完全な内容を書き込みます。

印刷ストリーム

印刷ストリームは、唯一の宛先操作、データソースが(データを読み取ることができない)を操作することができない
機能:印刷を呼び出し、任意のデータ型を操作することができる()メソッドは、任意のデータ型を書き込むことができます

  • PrintStream:バイトストリーム印刷
    コンストラクタ:public PrintStream(OutputStream out)新しい印刷ストリームを作成します。このストリームは、自動的に更新されません
    メンバーの方法
    public void flush()ストリームをフラッシュします
    public void write(byte[] buf, int off, int len)初期オフセット指定されたバイト配列からlenバイトは、このストリームの帳消しにします
    public void print(int b)プリント値

  • PrintWriter:文字印刷ストリームの
    コンストラクタ:public PrintWriter(Writer out)行の自動フラッシュは行わずに、新しいPrintWriterを作成します。
    メンバーの方法
    public void flush()ストリームをフラッシュします
    public void write(char[] buf, int off, int len)部分書き込み文字の配列
    public void print(int b)プリント値

ランダム・アクセス・ストリーム

ランダム・アクセス・ストリームは、クラスObjectのサブクラスです。しかし、それは、のInputStreamとOutputStreamの機能を組み合わせた読み取りをサポートし、ランダムアクセスファイルへの書き込み、任意のタイプのデータを操作することができます。
特徴:読み書きできます

  • RandomAccessFileの
    コンストラクタ:public RandomAccessFile(File file, String mode) throws FileNotFoundException読み取る作成し、(オプション)ランダムアクセスファイルストリーム、ファイルパラメータで指定されたファイルへの書き込みを
    メンバーの方法
    public int read() throws IOExceptionこのバイトからのデータファイルを読み込み、バイトの整数を返します。
    public void write(byte[] b, int off, int len) throws IOExceptionオフセットoffから開始して、指定されたバイト配列からファイルに書き込まlenバイト
    public void seek(long pos) throws IOExceptionポインタをオフセット、このファイルのファイルの先頭を測定するために設けられており、読み取りまたは書き込み操作は、この位置で発生します
    public long getFilePointer() throws IOException現在のファイルオフセットを返します。

連載

オブジェクトは、フロー方法注を介してファイルに格納されているシリアル化:このオブジェクトを上書きするSerializableインタフェースをシリアル化することができる
シリアライゼーション、デシリアライゼーションに関して、オブジェクト・ファイルが削減にストリーミング方式で格納されていますオブジェクト

  • ObjectOutputStreamの:直列化ストリームの
    コンストラクタ:public ObjectOutputStream(OutputStream out) throws IOExceptionObjectOutputStreamのを作成すると、指定されたOutputStreamを書き込み、
    メンバーの方法
    public final void writeObject(Object obj) throws IOException指定されたオブジェクトのObjectOutputStreamを書きます

  • ObjectInputStreamの:非直列化ストリームの
    コンストラクタ:public ObjectInputStream(InputStream in) throws IOException作成したObjectInputStreamは、指定されたInputStreamから読み込みます
    メンバーの方法
    public final Object readObject() throws IOException, ClassNotFoundExceptionObjectInputStreamのからオブジェクトを読み取り

注意:

過渡:過渡使用キーワードが、あなたはメンバ変数を宣言することができ、例えば、シリアライズする必要はありません。private transient int age ;// 使用transient可以阻止成员变量的序列化

プロパティクラス

プロパティは、プロパティの永続的なセットを表し、流れからの流れで保存またはロードすることができ、各キーおよびプロパティリストのその対応する値が文字列であり、ハッシュテーブルは、複列のセットに属する、親クラスです。キーと値のこのコレクションは、文字列であり、一般的なプロパティを指定することはできません
コンストラクタを:public Properties()既定値はありませんと空のプロパティのリストを作成します
メンバーの方法
public Object setProperty(String key, String value)HashtableのメソッドのPUTを呼び出し
public String getProperty(String key)指定されたキーを持つプロパティリスト検索プロパティ
public void load(Reader reader)プロパティに格納されたデータのキーデータを読み込み
public void store(Writer writer, String comments)キーと値のペアデータのPropertiesコレクションは、ファイルに書き込まれ、ノートのコメント

注文の流れ

シーケンスフローは、他の入力ストリームの論理的連結を表し
コンストラクタ:public SequenceInputStream(InputStream s1, InputStream s2)新しく作成されたSequenceInputStreamを初期化するために、これらの2つのパラメータを記憶することによって、このたSequenceInputStreamから読み込まれたバイトを提供するために、(これらの2つのパラメータを順次、最初の読み出しS1を読み、その後S2読み取りされます)
メンバーの方法
public int read(byte[] b, int off, int len) throws IOExceptionバイト配列にこの入力ストリームからデータのバイト数を最大len
public void close() throws IOExceptionこの入力ストリームを閉じ、このストリームに関連するすべてのシステムリソースを解放します

おすすめ

転載: blog.csdn.net/qq_41151659/article/details/90349033