ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

JFileChooserで、拡張子を自動で必要に応じてつけたい

2011年07月05日 22時22分10秒 | ソフト開発日記
JFileChooserでファイルを保存するとき、
ユーザが自分で拡張子を書いても(既存の拡張子のファイルを上書きしようとしても)
ユーザがファイル名だけを書いても、同じ結果にしたかったので、やり方メモ。
(例えば「memo」と書いても「memo.txt」と書いても、
「memo.txt」と保存されるようにしたいわけです。)

Chooserに入力されたファイルのインスタンスをfileとすると
PrintWriter pw = new PrintWriter(file + ".dat");
とすれば、拡張子に「.txt」が入力される。

あとはsubstring()メソッドを使って、末尾4文字が「.txt」かどうかをチェックし、場合分け。
まとめると以下のとおり。
なんかもっと楽にやる方法がありそう。
けれどこの方法も別に煩雑ではないので、とりあえずはこれで良しとします。


JFileChooser fc = new JFileChooser();
FileNameExtensionFilter ff = new FileNameExtensionFilter("テキストファイル", "txt");
fc.setFileFilter(ff);

int retval = fc.showSaveDialog(this);
if (retval != JFileChooser.APPROVE_OPTION) {
return;
}

File file = fc.getSelectedFile();

try {
PrintWriter pw;
if (file.toString().substring(file.toString().length() - 4).equals(".txt")) {
pw = new PrintWriter(file);
} else {
pw = new PrintWriter(file + ".txt");
}
pw.println("てすと");
pw.close();

}catch(IOException e){
}

最新の画像もっと見る