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("書き込みエラーが発生しました");
}
}
}