変換役割ストリーム
TestOtherStream
パッケージcom.aff.file; インポートjava.io.BufferedReader; インポートjava.io.BufferedWriter; インポートはjava.io.File; インポートjava.io.FileInputStream; インポートjava.io.FileOutputStreamは、 インポートにjava.io.IOException; インポートjava.io.InputStreamを、 インポートjava.io.InputStreamReader; インポートjava.io.OutputStreamWriterが、 インポートorg.junit.Test; // 転流のOutputStreamWriterにInputStreamReader // コード:文字列--->バイト配列 @ デコード:バイト配列--->文字列 のパブリック クラスTestOtherStream { @Test 公共 ボイドTEST1(){ BufferedReaderのBR = NULL ; BufferedWriterのBW = nullを。 試し{ // 解码 ファイルfile1 = 新しいファイル( "jdbc.properties" ); FileInputStreamのFIS = 新しいFileInputStreamを(FILE1)。 InputStreamReaderのISR = 新しい InputStreamReaderの(FIS、 "UTF-8" )。 BR = 新しいBufferedReaderの(ISR)。 // 编码 ファイルfile2 = 新しいですファイル( "jdbc6.properties" ); FileOutputStream fosの = 新しいのFileOutputStream(FILE2)。 OutputStreamWriter OSW = 新規のOutputStreamWriter(FOS、 "UTF-8" )。 BW = 新しいBufferedWriterの(OSW)。 文字列str; 一方、((STR = br.readLine())!= NULL ){ bw.write(STR)。 bw.newLine(); bw.flush(); } } キャッチ(IOExceptionを電子){ e.printStackTrace(); } 最後に{ IF(!BW = ヌル){ 試み{ bw.close(); } キャッチ(IOExceptionをE){ e.printStackTrace(); } } IF(BR!= NULL ){ 試み{ br.close(); } キャッチ(IOExceptionをE){ e.printStackTrace(); } } } }
// 標準入出力ストリーム // 演習:キーボードの文字ストリームからの入力、大文字の転送出力の文字列全体を読むことを要求し、 // その後、入力eまたは終了するまで、入力操作を続行、プログラムを終了 @Test 公共 無効TEST2(){ BufferedReaderのBR = nullの; / * *標準入出力ストリーム:標準入力ストリーム: * System.in標準出力ストリーム:のSystem.out * / のtry { のInputStreamである = System.in; // バイトストリーム にInputStreamReader ISR = 新しい新しい InputStreamReaderの(である); // 文字ストリームへのバイトストリーム BR = 新しい新しい BufferedReaderの(ISR); // 文字ストリームフロー外部パケットバッファ層 文字列str。 一方、(真){ するSystem.out.println( "输入字符串" )。 STR = br.readLine(); もし(str.equalsIgnoreCase( "E")|| str.equalsIgnoreCase( "出口" )){ ブレーク。 } 文字列STR1 = str.toUpperCase()。 System.out.println(0009)。 } } キャッチ(IOExceptionを電子){ e.printStackTrace(); } 最後に{ 場合(BR!= NULL){ 試み{ br.close()。 } キャッチ(IOExceptionを電子){ e.printStackTrace(); } } } } }