これらの二つの流れは非常に実用的な感じ
最初は再のsystem.in/outです
/ * * 1標準入出力ストリーム 、標準的な入力ストリーム、キーボードデフォルトから入力:System.in * *のSystem.out標準出力ストリーム、コンソールからのデフォルト出力 SETIN * Systemクラス(入力ストリームがある)/ setOut(のPrintStream PS)モード交代 * * * / パブリック クラスOtherStreamTest { / * *方法A:スキャナを使用して実現、通話next()メソッドがあってもよい * 2:System.inを読み取る実装、System.in - >転流- >のreadlineのBufferedReaderの() * * * / @Test 公共 無効TEST1(){ // 標準入力ストリームを取得 BufferedReaderのBR = ヌル; 試して{ //System.inストリームはバイトストリームであり、文字ストリームは、に変換される InputStreamReaderのISR = 新しい新しい InputStreamReaderの(システム。で); // 次に、文字ストリームバッファ転送パッキング BR = 新しい新しいBufferedReaderの(ISR); 一方、(真の){ データストリング = br.readLine(); // ラインに直接読み込ま IF(" E " .equalsIgnoreCase(データ)|| " 終了" .equalsIgnoreCase(データ)){ システム。OUT .println(" プログラムの終了" ); BREAK; } 文字列upperString = data.toUpperCase()。 システム。アウト.println(upperString)。 } } キャッチ(例外e){ e.printStackTrace(); } 最後に{ しようと{ 場合(BR =!ヌル) br.closeを(); } キャッチ(例外e){ e.printStackTrace(); } } } / * 打印流 *字节输出流のPrintStream *文字出力ストリームのPrintWriter *申し出範囲オーバーロードされたプリント()とのprintln() * * / @Test 公共 のボイドTEST2は()にFileNotFoundException {スロー // バインディングファイル出力ストリームhello.txt のPrintStream psのを= NULL ; 試み{ // ステップは、標準出力リダイレクト // 1.Newバイトストリームオブジェクト たFileOutputStreamのFOS = 新しいたFileOutputStream(新しい(ファイル「hello.txt 」;)) // バイトストリームへ2.新しい単語をセクション出力ストリームPS、ストリームに出力ストリーム PS =新しい新しいのPrintStream(FOSを、真の); // プリントストリームPSに標準出力からリダイレクト3. CMD IF!(PS = ヌル) System.setOut(PS); のため(int型 I = 0 I <; 255 ; I ++ ){ 。システムOUT。プリント((CHAR )I); IF(Iの%50 == 0 ) システム。OUT .println(); } } キャッチ(例外e){ e.printStackTrace(); } 最後に{ 試み{ 場合(!PS = ヌル) ps.close(); } キャッチ(例外e){ e.printStackTrace(); } } }
第二の流れは、intなどのファイル/書き込みデータからストリームを読み出すために使用されます
/ * *データ・ストリーム:DataInputStreamを:セットのInputStreamとOutputStreamの上記 *機能:変数または文字列のデータ型の読み取りや書き込みを行うための基本 * * * / @Test 公共 無効Test3は(){ DataOutputStreamのDOS = ヌル; 試み{ // メモリ内の文字列、ファイルに書き込まれた変数の基本データ型 DOS = 新しい新しい DataOutputStreamを(新新のFileOutputStream(新新(ファイル「hello.txt 」))); dos.writeUTF(「zsben 」); DOS。フラッシュ(); dos.writeInt(23 )。 dos.writeBoolean(真の); dos.flush(); } キャッチ(例外e){ // TODO自動生成されたcatchブロック e.printStackTrace(); } 最後に{ 試み{ 場合(!ドス= ヌル) dos.close(); } キャッチ(例外e){ e.printStackTrace(); } } } }