FileWriter
日本語 | 書類書記 |
英語 | file writer |
ふりがな | ふぁいるらいたー |
フリガナ | ファイルライター |
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.io.FileWriter。
ストリームクラス。OutputStreamWriterクラスのサブクラスであり、文字出力ストリームクラスである。
文字出力ストリームクラスの中では「出力先」に位置する。
対になる入力側のクラスはFileReaderクラスである。
ファイルに文字列を出力する文字出力ストリームクラス。
ファイルに文字や文字列を出力する。
その際、OS標準の文字コードに変換して出力する。Javaの文字列の文字コードはUnicodeである。これを、実行時のOSの文字コードに変換してから出力する。WindowsであればCP932に変換して出力する。
ただし、改行文字は変換されないため注意。「\r」や「\n」は直接出力される。OSに対応した適切な文字コードを出力する場合には、BufferedWriterクラスのnewLine()メソッドを使用するか、システムプロパティのひとつ「line.separator」から取得する必要がある。
FileWriterクラスのコンストラクタに「本当の出力先」となるファイルを指定することで、そのファイルを開く。
FileWriterクラスのwrite()メソッドで文字及び文字列を出力する。
処理終了後はclose()メソッドを呼び終了処理を行う。その際、ファイルを閉じるため必ずこのメソッドを呼ぶ必要がある。
ストリームクラス。OutputStreamWriterクラスのサブクラスであり、文字出力ストリームクラスである。
文字出力ストリームクラスの中では「出力先」に位置する。
対になる入力側のクラスはFileReaderクラスである。
ファイルに文字列を出力する文字出力ストリームクラス。
ファイルに文字や文字列を出力する。
その際、OS標準の文字コードに変換して出力する。Javaの文字列の文字コードはUnicodeである。これを、実行時のOSの文字コードに変換してから出力する。WindowsであればCP932に変換して出力する。
ただし、改行文字は変換されないため注意。「\r」や「\n」は直接出力される。OSに対応した適切な文字コードを出力する場合には、BufferedWriterクラスのnewLine()メソッドを使用するか、システムプロパティのひとつ「line.separator」から取得する必要がある。
FileWriterクラスのコンストラクタに「本当の出力先」となるファイルを指定することで、そのファイルを開く。
FileWriterクラスのwrite()メソッドで文字及び文字列を出力する。
処理終了後はclose()メソッドを呼び終了処理を行う。その際、ファイルを閉じるため必ずこのメソッドを呼ぶ必要がある。
参考サイト
// Sample.java
import java.io.FileWriter;
import java.io.IOException;
public class Sample
{
public static void main( String[] args )
{
// 出力先のファイルパス。
String filePath = "D:/to.txt";
FileWriter fileWriter = null;
try
{
// FileWriterクラスを作ります。
fileWriter = new FileWriter( filePath );
// 文字を書き込みます。
fileWriter.write( 'あ' );
fileWriter.write( 'い' );
fileWriter.write( 'う' );
// 改行文字は、OSごとに変換されないので、
// OSに合わせた改行を出力します。
// それか、BufferedWriterクラスのnewLine()メソッドを
// 使用しましょう。
fileWriter.write( "\r\n" );
// 文字列の残りを出力します。
fileWriter.write( "えお" );
// こうすることで、to.txtに以下のように出力されます。
/*
あいう
えお
*/
// 文字列は、OSの標準文字コードに変換されて出力されます。
// WindowsであればCP932に変換されて出力されます。
}
catch( IOException e )
{
// 読み込みに失敗した際に、write()メソッドが
// IOException例外を投げます。
e.printStackTrace();
}
finally
{
// 最後にclose()メソッドを呼んで後処理をします。
// また、これは必ず行うため、finally内で行います。
try
{
if( fileWriter != null )
{
fileWriter.close();
}
}
catch( IOException e )
{
e.printStackTrace();
}
}
}
}
import java.io.FileWriter;
import java.io.IOException;
public class Sample
{
public static void main( String[] args )
{
// 出力先のファイルパス。
String filePath = "D:/to.txt";
FileWriter fileWriter = null;
try
{
// FileWriterクラスを作ります。
fileWriter = new FileWriter( filePath );
// 文字を書き込みます。
fileWriter.write( 'あ' );
fileWriter.write( 'い' );
fileWriter.write( 'う' );
// 改行文字は、OSごとに変換されないので、
// OSに合わせた改行を出力します。
// それか、BufferedWriterクラスのnewLine()メソッドを
// 使用しましょう。
fileWriter.write( "\r\n" );
// 文字列の残りを出力します。
fileWriter.write( "えお" );
// こうすることで、to.txtに以下のように出力されます。
/*
あいう
えお
*/
// 文字列は、OSの標準文字コードに変換されて出力されます。
// WindowsであればCP932に変換されて出力されます。
}
catch( IOException e )
{
// 読み込みに失敗した際に、write()メソッドが
// IOException例外を投げます。
e.printStackTrace();
}
finally
{
// 最後にclose()メソッドを呼んで後処理をします。
// また、これは必ず行うため、finally内で行います。
try
{
if( fileWriter != null )
{
fileWriter.close();
}
}
catch( IOException e )
{
e.printStackTrace();
}
}
}
}
// Sample.java import java.io.FileWriter; import java.io.IOException; public class Sample { public static void main( String[] args ) { // 出力先のファイルパス。 String filePath = "D:/to.txt"; FileWriter fileWriter = null; try { // FileWriterクラスを作ります。 fileWriter = new FileWriter( filePath ); // 文字を書き込みます。 fileWriter.write( 'あ' ); fileWriter.write( 'い' ); fileWriter.write( 'う' ); // 改行文字は、OSごとに変換されないので、 // OSに合わせた改行を出力します。 // それか、BufferedWriterクラスのnewLine()メソッドを // 使用しましょう。 fileWriter.write( "\r\n" ); // 文字列の残りを出力します。 fileWriter.write( "えお" ); // こうすることで、to.txtに以下のように出力されます。 /* あいう えお */ // 文字列は、OSの標準文字コードに変換されて出力されます。 // WindowsであればCP932に変換されて出力されます。 } catch( IOException e ) { // 読み込みに失敗した際に、write()メソッドが // IOException例外を投げます。 e.printStackTrace(); } finally { // 最後にclose()メソッドを呼んで後処理をします。 // また、これは必ず行うため、finally内で行います。 try { if( fileWriter != null ) { fileWriter.close(); } } catch( IOException e ) { e.printStackTrace(); } } } }