InputStreamReaderとOutputStreamWriter変換ストリーム
3972 ワード
InputStreamReader(読み取り)、OutputStreamWriter(書き込み)
指定したcharsetを使用してバイトを読み取り、文字に復号するバイトフローへのブリッジです.使用する文字セットは、名前で指定または表示できます.そうしないと、プラットフォームのデフォルトの文字セットを受け入れることができます.
主にバイトストリームから文字ストリームへの変換、および符号化された読み出しおよび書き込みデータを指定するために使用されます.注意符号化が指定されていない場合は、開発プラットフォームのデフォルト符号化が使用されます.
主な方法:
1.構造方法
指定したcharsetを使用してバイトを読み取り、文字に復号するバイトフローへのブリッジです.使用する文字セットは、名前で指定または表示できます.そうしないと、プラットフォームのデフォルトの文字セットを受け入れることができます.
主にバイトストリームから文字ストリームへの変換、および符号化された読み出しおよび書き込みデータを指定するために使用されます.注意符号化が指定されていない場合は、開発プラットフォームのデフォルト符号化が使用されます.
主な方法:
1.構造方法
InputStreamReader(InputStream in): InputStreamReader。
InputStreamReader(InputStream in,Charset cs): InputStreamReader。 String charsetName Charset cs
OutputStreamWriter(OutputStream out): OutputStreamWriter。
OutputStreamWriter(OutputStream out,Charset cs): OutputStreamWriter。 String charsetName Charset cs
2.その の String getEncoding() 。
int read()
は、1つの を み みます. void write(int c) 。
int read(char[] cbuf, int offset, int length) 。
void write(char[] cbuf, int off, int len) 。
コードのデモ:
バイトストリームを ストリームに //
@Test
public void demo1() throws IOException{
// , (System.in)InputStream BufferReader 。
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr); // , ,
// , FileOutputStream BufferedWriter
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("b.txt")));
String str=null;
while((str=br.readLine())!=null){
if(str.equalsIgnoreCase("over")){
break;
}
System.out.println(str.toUpperCase());
bw.write(str);
bw.write("
");
}
isr.close();
br.close();
bw.close();
}
:zi jie liu dao zi Fu liu de mo zhuan huan
ZI JIE LIU DAO ZI FU LIU DE MO ZHUAN HUAN
over
プラットフォームのデフォルト による み き//
@Test
public void demo2() throws IOException{
OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream(" .txt"));
osw.write(" "); // MyEclipse utf_8;
osw.close();
InputStreamReader isr=new InputStreamReader(new FileInputStream(" .txt"));
BufferedReader br=new BufferedReader(isr);
String str=null;
while((str=br.readLine())!=null){
System.out.println(str);
}
isr.close();
br.close();
}
でコードを して み きする//
@Test
public void demo4() throws IOException{
OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("gbk.txt"),"gbk");
osw.write(" gbk ");
osw.write("
");
osw.write(" gbk ");
osw.write("
");
osw.close();
InputStreamReader isr=new InputStreamReader(new FileInputStream("gbk.txt"),"gbk");
char b[]=new char[8];
int len=0;
while((len=isr.read(b))!=-1){
String str=new String(b,0,len);
System.out.print(str);
}
OutputStreamWriter osw2=new OutputStreamWriter(new FileOutputStream("utf8.txt"),"utf-8");
osw2.write("
");
osw2.write(" utf-8 ");
osw2.write("
");
osw2.write(" utf-8 ");
osw2.write("
");
osw2.close();
InputStreamReader isr2=new InputStreamReader(new FileInputStream("utf8.txt"),"utf-8");
char b2[]=new char[8];
int len2=0;
while((len2=isr2.read(b2))!=-1){
String str=new String(b2,0,len2);
System.out.print(str);
}
}
gbk
gbk
utf-8
utf-8