javaの - I / O - FileReaderを、てFileWriter

バイトストリーム:

FileInputStreamを

FileOutputStream

バイトストリームは、1バイト、読み取ることができるファイルの種類の利点を読む、欠点が問題にプレーンテキストを扱うときに発生する可能性がある(各2バイトのために中国語の単語、文字化け読み取りエラーにつながることができます)。

 

字符流:

FileReaderを、てFileWriter

あなただけのようにプレーンテキストファイル(メモ帳を右開くことができ、コンテンツには影響しません)、TXT、HTMLを操作することができます。

 

バイトストリーム、バイト8ビットが受信したデータバイト

データ文字ストリームのcharを受け、チャーは16です

漢字は16である2つのバイトを占有します

文字ストリームはありませんがだから、バイトストリームが文字化けすることがあります。

どちらも、ほぼ同じスペースが、パラメータのバイトは文字です

 

FileReaderの:

パッケージIO; 

輸入java.io.FileInputStream;
輸入java.io.FileReader。
インポートにjava.io.IOException; 

パブリック クラスFileReaderTest {
     公共 静的 ボイドメイン(文字列[]引数){ 

        FileReaderのFR = NULL ; 
        FileInputStreamのFIS = nullを

        試す{ 
            FR = 新しい FileReaderの( "C:\\ユーザー\\管理者\\デスクトップ\\テスト\\ filereadertest.txt" ); 
            FIS = 新しいですFileInputStreamを( "C:\\ユーザー\\管理者\\デスクトップ\\テスト\\ filereadertest.txt" );
            CHAR [] C = 新しい CHAR [5 ]。
            int型のカウント= fr.read(C);
            一方、(カウント= -1!){ 
                System.out.printlnは( "--- |" + 新しい文字列(C)+ "| ---" ); 
                カウント = fr.read(C); 
            } 
            // --- |你好世界、| ---
             // --- |
            // 你好I | ---
             // --- | / O好I |。--- 

            バイト [] B = 新しい バイト[5 ]; 
            COUNT = fis.read(B);
             ながら(!COUNT = -1 ){ 
                するSystem.out.println( "--- |" + 新しい新しい文字列(B)+ "| ---" ); 
                COUNT = fis.read(B); 
            } 
            // ?--- |こんにちは| ---
             // ?--- |ランシュウ| ---
             // --- |
             // ですか?| ---
             / / --- |脇の下/ O |?---
             // --- |/ O |?--- 

            // バイト文字化け、文字なし
             // 各文字を読んでいるのでcharが16ビットであるが、唯一のバイトの読み取りバイトを使用することができ、各8ビット、バイトが文字化けされるように、各文字は、16です




        } キャッチ(例外E){ 
            e.printStackTrace(); 
        } 最後に {   // 流れがfianlly閉じることができることを保証するために使用され
            たIF(FR =!ヌル){
                 試み{ 
                    fr.close(); // ストリームを閉じ 
                } キャッチ(IOExceptionをE) { 
                    e.printStackTrace(); 
                } 
            } 
            IF(FIS =!ヌル){
                 試み{ 
                    fis.close(); // ストリームを閉じ 
                } キャッチ(IOExceptionをE){ 
                    e.printStackTrace(); 
                } 
            } 
        } 


    } 
}

 

 

FileWriter

パッケージIO; 

インポートjava.io.FileOutputStreamは、
 インポートjava.io.FileWriter;
 インポートにjava.io.IOException; 

パブリック クラスFileWriterTest { 

    公共 静的 ボイドメイン(文字列[]引数){ 

            てFileWriter FW = NULL ; 
            たFileOutputStreamのFOS = NULL ; 

            トライ{ 
                FW = 新しい新しいてFileWriter(「C:\\ \\デスクトップユーザー\\ \\ \\テストfileWriterTest.txt管理者」); //は、このファイルを持っていないが、その後、新たに作成し、 
                FOSを= 新新FileOutputStream(「C:\\ \\デスクトップユーザー\\ \\ \\ fileWriterTest.txtテスト管理者」、真の); // 2番目のパラメータは、元に戻って追加するかどうか、デフォルトが覆われている偽されている、してFileWriter同じ李

                fw.write( "こんにちは、世界、\ rを\ n個こんにちは難易度、I / O \ rをN- \。");   // テキストを追加したい場合は、Windowsの改行は、TXTます\ r \ nを\にあります文字列"\ rを\ n"は、使用"\\ R \\ n"は出力"\ rを\ n"はあります。
                fw.flush(); // 以前に書き、そして今、新しいバージョンが自動的にプッシュしていた-しかし、さまざまなバージョンに対応するために最善で書かれている-
                 // 、こんにちは
                 // こんにちはナナI / Oのは、

                fos.write( "Hello Worldの、\ R \ nはハロー困難I / O \ R&LT \ N-" .getBytes());   // バイトに文字列[]配列、バイトストリームは、その後することができアクセス。
                fos.flushは(); // 以前に書き、そして今、新しいバージョンが自動的にプッシュしていた- -しかし、さまざまなバージョンに対応するために最善で書かれている
                 //こんにちは、
                 // こんにちはナナI / O。
                // ため、すべて一度には、一見ので、少し問題に分割されていない- -バッチは、より複雑な状況を入力すると、効果的であることが必要かもしれ

            } キャッチ(例外E){ 
                e.printStackTrace(); 
            } 最後に {   // fianlly閉じることができます流れを確保するために使用
                のIF(!FW = ヌル){
                     試み{ 
                        fw.closeを(); //は、ストリームを閉じます 
                    } キャッチ(IOExceptionをE){ 
                        e.printStackTraceを(); 
                    } 
                } 
                IF!(FOS = nullを){
                     試み{ 
                        fos.close(); // ストリーム閉じ 
                    } キャッチ(IOExceptionをE){ 
                        e.printStackTrace()を; 
                    } 
                } 
            } 

    } 
}

 

おすすめ

転載: www.cnblogs.com/clamp7724/p/11640731.html