バイト出力、入力ストリームのOutputStream、のInputStream

@

バイト出力ストリームのOutputStream

ボイドクローズ()は、
この出力ストリーム解放このストリームに関連するすべてのシステムリソースをクローズ。

無効フラッシュは()
この出力ストリームをフラッシュし、文字ストリームのための効果的な書き込みをするために、任意のバッファされた出力バイトを強制的に

ボイドライト(バイト[] b)に
指定されたバイト配列からこの出力ストリームに書き込まれてb.lengthバイト。

ボイドライト(バイト[] B、オフINT、INT LEN)
この出力ストリームに書き込まオフオフセットlenバイトから始まる指定されたバイト配列。

抽象ボイド書き込み(int型b)のバイトを書きます

    OutputStream os = new FileOutputStream("hello.txt");
    os.write("good".getBytes());
    byte[] bys = {97,98,99,100};
    os.write(bys, 1, 2);
    os.write(100);
    os.flush();
    os.close();

// 输出结果 hellowordbcd

FileOutputStream(ファイルファイル)
出力ストリームで指定されたFileオブジェクトによって表されるデータファイルを記述するためのファイルを作成します。

FileOutputStream(ファイルのファイル、ブールAPPEND)
出力ストリームで指定されたFileオブジェクトによって表されるデータファイルを記述するためのファイルを作成します。

FileOutputStream(文字列名)は
、出力ファイルストリームの指定した名前のファイルへの書き込みデータを作成します。

FileOutputStream(文字列名、ブールAPPEND)は
、出力ファイルストリーム内の指定された名前を持つファイルへの書き込みデータを作成します。

バインディングIOの書き込み例外処理をストリーム

    System.out.println("Start");
    try (OutputStream os = new FileOutputStream("Test.txt");
        Scanner input = new Scanner(System.in);
            ){
        os.write("HelloWorld".getBytes());
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
    System.out.println("End");

バイトの入力ストリーム入力ストリーム

メソッドの概要

使用可能INT()は
バックこの入力方法にバイトのストリームを推定読み出しをブロックせずに入力ストリームを呼び出し(またはスキップ)。
ボイド閉じる()
この入力ストリームを解放ストリームに関連するすべてのシステムリソースをクローズ。
無効マーク(int型readlimit)
この入力ストリームが現在の位置にマークを設定します。
ブールmarkSupported()
入力ストリームがmarkとresetメソッドをサポートしている場合。
抽象int型の読み取りは、()
入力ストリームからデータの次のバイトを読み込みます。

  **特点:** 
      1.表示一次性读取一个字节
      2.每读取一个字节,那么返回的实际读取的内容
      3.读取一个字节完毕,会自动等待读取下一个字节,类似迭代器的 cursor
      4.读取到文件末尾返回 -1

読み取りINT(バイト[] b)は
入力ストリームからバイトの一定数を読み出し、バッファ配列bに格納します。
読み取りINT(バイト[] B、オフINT、INT LEN)
入力データのバイトを最大lenストリームは、バイト配列に読み込まれます。
無効リセット()
メソッドが呼び出されたこの入力ストリームマークの最後の位置に移転し、この流れ。
長い(長n)をスキップ
スキップしてnバイト内の入力データの流れを破棄する。

ファイル- > FileInputStreamの入力ストリームメモリの
メモリ- >ファイル出力ストリームのPrintStream

注意:
1.それ以外の場合は、FileNotFoundExceptionをスローします、ファイル出力ストリームが自動的に作成されて存在していませんが、入力ストリームファイルが存在しなければならない場合は
、中間は各バイトが投げなかったと思われる場合2.は、1つのバイトを読みますこれは、文字化けをもたらすことができます

読みINT(バイト[] b)は

外部からのバイト配列の内容を読み取る使い捨て

2.各一回読んでは、実際に読んで長さを返します。

3の最後にファイルを読む-1

4.リードポインタはバイトアレイ部後方に移動されるたび

注意:

各読み取りの範囲を拡大し、しかしながら歪みが依然として存在しているので、バイトストリームは、バイトまたはバイト配列を読み取るが、GBKまたはUTF-8符号化テーブルは、中国二つまたは3バイトを表します確かに文字化けの可能なので、バイトストリーム処理の中国を推奨されていません。

    InputStream is = new FileInputStream("d:\\test.txt");
    byte[] bys = new byte[1024];
    int len = 0;
    while ((len = is.read(bys)) != -1) {
        System.out.print(new String(new String(bys, 0, len)));
    }

+出力ストリームにバイトのバイト入力ストリーム、コピーしたファイル

test.java - > test.txtの

データソース:test.java

目的地:test.txtの

方向:

ファイル - >メモリのFileInputStream

メモリ - >ファイルのFileOutputStream

コピーモード:

使い捨てのコピーバイト

バイト配列2.使い捨てのコピー

使い捨てのコピーバイト

/*
 * 功能: 一次性拷贝一个字节拷贝文件
 * 返回值类型 : void
 * 参数列表: String srcFileName, String descFileName
 * 方法名: copy
 */
public static void copy(String srcFileName, String descFileName) {
    FileInputStream fis = null;
    FileOutputStream fos = null;
    try {
        fis = new FileInputStream(srcFileName);
        fos = new FileOutputStream(descFileName);

        int by = 0;
        while ((by = fis.read()) != -1) {
            fos.write(by);
            fos.flush();
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (fis != null) {
            try {
                fis.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        if (fos != null) {
            try {
                fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

}

バイト配列2.使い捨てのコピー

/*
 * 功能: 一次性拷贝一个字节数组拷贝文件
 * 返回值类型 : void
 * 参数列表: File srcFile, File descFile
 * 方法名: copy
 */
public static void copy(File srcFile, File descFile, int capacity) {
    try (FileInputStream fis = new FileInputStream(srcFile);
            FileOutputStream fos = new FileOutputStream(descFile);) {
        byte[] bys = new byte[capacity];
        int len = 0;

        while ((len = fis.read(bys)) != -1) {
            fos.write(bys, 0, len);
            fos.flush();
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    } 
} 

おすすめ

転載: www.cnblogs.com/zhiwenxi/p/11389291.html