StringWriter
日本語 | 文字列書記 |
英語 | string writer |
ふりがな | すとりんぐらいたー |
フリガナ | ストリングライター |
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.io.StringWriter。
ストリームクラス。Writerクラスのサブクラスであり、文字出力ストリームクラスである。
文字出力ストリームクラスの中では「出力先」に位置する。
対になる入力側のクラスはStringReaderクラスである。
StringBufferクラスに文字を出力する文字出力ストリームクラス。
内部にStringBufferクラスのフィールドを持ち、出力した文字をこのフィールドに追記していく。
ストリームの操作で文字列を追加していく場合に使用する。
機能的にはCharArrayWriterクラスとほぼ同じ。
StringWriterクラスのインスタンスを作成することで、StringBufferクラスのインスタンスも作成しフィールドとして持つ。
StringWriterクラスのwrite()メソッドで出力する。write()メソッドは、int型、char型の配列、Stringクラス等にオーバーロードされているため、たいがいの形式の文字列を渡すことができる。
引数がint型のwrite()メソッドは、実際にはchar型の値を受け取る。char型の範囲、つまり0x00000000~0x0000FFFFの範囲の値のみを受け取り、それより大きな値は右4バイトのみ取り出し出力する。
内部のStringBufferクラスの文字列は、toString()メソッドで取得することができる。また、getBuffer()メソッドでStringBufferクラスそのものを取得することもできる。
処理終了後はclose()メソッドを呼び終了処理を行う。
ストリームクラス。Writerクラスのサブクラスであり、文字出力ストリームクラスである。
文字出力ストリームクラスの中では「出力先」に位置する。
対になる入力側のクラスはStringReaderクラスである。
StringBufferクラスに文字を出力する文字出力ストリームクラス。
内部にStringBufferクラスのフィールドを持ち、出力した文字をこのフィールドに追記していく。
ストリームの操作で文字列を追加していく場合に使用する。
機能的にはCharArrayWriterクラスとほぼ同じ。
StringWriterクラスのインスタンスを作成することで、StringBufferクラスのインスタンスも作成しフィールドとして持つ。
StringWriterクラスのwrite()メソッドで出力する。write()メソッドは、int型、char型の配列、Stringクラス等にオーバーロードされているため、たいがいの形式の文字列を渡すことができる。
引数がint型のwrite()メソッドは、実際にはchar型の値を受け取る。char型の範囲、つまり0x00000000~0x0000FFFFの範囲の値のみを受け取り、それより大きな値は右4バイトのみ取り出し出力する。
内部のStringBufferクラスの文字列は、toString()メソッドで取得することができる。また、getBuffer()メソッドでStringBufferクラスそのものを取得することもできる。
処理終了後はclose()メソッドを呼び終了処理を行う。
参考サイト
// Sample.java
import java.io.StringWriter;
import java.io.IOException;
public class Sample
{
public static void main( String[] args )
{
StringWriter stringWriter = null;
try
{
// StringWriterクラスを作ります。
stringWriter = new StringWriter();
// 文字を書き込みます。
stringWriter.write( 'あ' );
stringWriter.write( 'い' );
stringWriter.write( 'う' );
// 文字列を書き込むこともできます。
stringWriter.write( "えお" );
// 出力した文字を文字列として取得します。
String string = stringWriter.toString();
System.out.println( string );
// あいうえお
// このように、文字をStringWriterクラスの中に
// 出力することができます。
// 内部のStringBufferクラスを取り出すこともできます。
StringBuffer stringBuffer = stringWriter.getBuffer();
string = stringBuffer.toString();
System.out.println( string );
// あいうえお
}
finally
{
// 最後にclose()メソッドを呼んで後処理をします。
// また、これは必ず行うため、finally内で行います。
try
{
if( stringWriter != null )
{
stringWriter.close();
}
}
catch( IOException e )
{
e.printStackTrace();
}
}
}
}
import java.io.StringWriter;
import java.io.IOException;
public class Sample
{
public static void main( String[] args )
{
StringWriter stringWriter = null;
try
{
// StringWriterクラスを作ります。
stringWriter = new StringWriter();
// 文字を書き込みます。
stringWriter.write( 'あ' );
stringWriter.write( 'い' );
stringWriter.write( 'う' );
// 文字列を書き込むこともできます。
stringWriter.write( "えお" );
// 出力した文字を文字列として取得します。
String string = stringWriter.toString();
System.out.println( string );
// あいうえお
// このように、文字をStringWriterクラスの中に
// 出力することができます。
// 内部のStringBufferクラスを取り出すこともできます。
StringBuffer stringBuffer = stringWriter.getBuffer();
string = stringBuffer.toString();
System.out.println( string );
// あいうえお
}
finally
{
// 最後にclose()メソッドを呼んで後処理をします。
// また、これは必ず行うため、finally内で行います。
try
{
if( stringWriter != null )
{
stringWriter.close();
}
}
catch( IOException e )
{
e.printStackTrace();
}
}
}
}
// Sample.java import java.io.StringWriter; import java.io.IOException; public class Sample { public static void main( String[] args ) { StringWriter stringWriter = null; try { // StringWriterクラスを作ります。 stringWriter = new StringWriter(); // 文字を書き込みます。 stringWriter.write( 'あ' ); stringWriter.write( 'い' ); stringWriter.write( 'う' ); // 文字列を書き込むこともできます。 stringWriter.write( "えお" ); // 出力した文字を文字列として取得します。 String string = stringWriter.toString(); System.out.println( string ); // あいうえお // このように、文字をStringWriterクラスの中に // 出力することができます。 // 内部のStringBufferクラスを取り出すこともできます。 StringBuffer stringBuffer = stringWriter.getBuffer(); string = stringBuffer.toString(); System.out.println( string ); // あいうえお } finally { // 最後にclose()メソッドを呼んで後処理をします。 // また、これは必ず行うため、finally内で行います。 try { if( stringWriter != null ) { stringWriter.close(); } } catch( IOException e ) { e.printStackTrace(); } } } }