FileSaver.java



import java.io.File;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.StringTokenizer;

/** Stringの情報をファイルに保存する FileSaverクラス */

public class FileSaver {

   /** 指定されたファイルに String の情報を保存するメソッド */

     public static void saveText( File file, String text )
                                            throws FileSaverException {

          FileWriter fw;
          BufferedWriter bw;

          Properties prps = System.getProperties();
          String separator = prps.getProperty( "line.separator" );
          StringTokenizer st = new StringTokenizer( text, separator );

          try {
               fw = new FileWriter( file );
               bw = new BufferedWriter( fw );

               if( !file.exists() )
                    throw new FileSaverException( "ファイルが作成できません" );
               if( !file.isFile() )
                    throw new FileSaverException( file.getName() +
                                                  "はファイルではありません" );
               if( !file.canWrite() )
                    throw new FileSaverException( "書き込み許可がありません" );

           // 1行単位で出力
               String line;
               while( st.hasMoreTokens() ) {
                 line = st.nextToken();
                 bw.write( line, 0, line.length() );
                 bw.newLine();  // 改行文字をはさむ
               }
               bw.close();
               fw.close();
           }
           catch( IOException e ) {  // 入出力エラーが発生

               throw new FileSaverException("書き込みエラーが発生しました");
           }
     }
}