FileWriterは一文字ずつ書き込むメソッド。
これをBufferingFilterを使用して、処理効率を上げよう!
package practice1;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class Write {
public static void main(String[] args) {
FileWriter fw=null;
BufferedWriter bw=null;
try {
//cドライブには事前にworkファイル作成しておく
fw=new FileWriter("c:\\work\\filetest.txt",true);
//workフォルダにfiletestファイルを生成。もしあればそれを使用する
bw=new BufferedWriter(fw);
/*行ごとに書き込むために、「ため込んで一定量ずつ放出する」Bufferedメソッドをつくり、
FileWriter(書き込むメソッド)と組み合わせる*/
bw.write("abcdefg"); //書き込み。行単位で書き込めるのはBufferedメソッドのおかげ。
bw.newLine(); //改行処理
bw.write("1234567890");
bw.newLine();
bw.write("1 2 3 4 5 6 7 8 9 0");
bw.flush(); //強制的に「今書き込め!」と命令するメソッド
}catch(IOException e){
e.printStackTrace(); //エラーの詳細を、コンソールに赤文字で表示させるメソッド
//System.out.println("ファイル書き込みエラーです");
/* try-catch間でエラーが起こっても起きなくても
* fileをcloseできるようにfiallyメソッド使う↓*/
}finally {
if(bw!=null) {
try {
bw.close();
}catch(IOException e) {}//中身はカラでもいいし、なんらかのエラーメッセージを出力してもok
}
if(fw!=null) {
try {
fw.close();
}catch(IOException e) {}
}
}
}
}