私はさまざまな拡張子のファイルを作成するプログラムを作成しています。そのために、私はJFileChooser
を使用しています。私はFileFilter
に自分が望む拡張子だけを受け入れるように設定しましたが、私が選択したときには、ファイル名の拡張子を自分で追加する必要があります。それをどうすれば解決できますか?どうもありがとう!jFileChooserで拡張子を追加する
0
A
答えて
0
基本的には、ユーザーがダイアログを閉じると、拡張機能を自分で追加する必要があります。
この例では、ユーザーが ".foo"または ".bar"で終わるファイルを指定することができ、ユーザーがそうしなかった場合はその拡張子を追加します。
JFileChooser fileChooser = new JFileChooser();
fileChooser.setMultiSelectionEnabled(false);
fileChooser.removeChoosableFileFilter(fileChooser.getAcceptAllFileFilter());
fileChooser.setFileFilter(new FileNameExtensionFilter("Files ending in .foo", "foo"));
fileChooser.setFileFilter(new FileNameExtensionFilter("Files ending in .bar", "bar"));
int option = fileChooser.showSaveDialog(null);
if (option == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
if (file!=null) {
FileFilter fileFilter = fileChooser.getFileFilter();
if (fileFilter instanceof FileNameExtensionFilter && ! fileFilter.accept(file)) {
// if the filter doesn't accept the filename, that must be because it doesn't have the correct extension
// so change the extension to the first extension offered by the filter.
FileNameExtensionFilter fileNameExtensionFilter = (FileNameExtensionFilter) fileFilter;
String extension = fileNameExtensionFilter.getExtensions()[0];
String newName = file.getName() + "." + extension;
file = new File(file.getParent(), newName);
}
System.out.println("The selected file is: " + file.getAbsolutePath());
}
}
+0
ありがとうございますが、私は自分自身でエクステンションを追加する必要があります。私はJacksessライブラリを使ってMS Accessデータベースを作成しようとしています。 – HaroldFinch
関連する問題
- 1. バルクでファイル拡張子を追加
- 2. NSURLファイル拡張子の追加など
- 3. extjs拡張ウィンドウウィジェットのタイトルバーにアイコンを追加する(2レベルの拡張子)
- 4. ドメインURLに.htaccessで拡張子を追加する方法は?
- 5. linuxコマンドラインで複数のファイルに拡張子を追加する
- 6. ファイアウォール拡張子を持つファイルにデータを追加する
- 7. Swift構造体拡張子初期化子を追加
- 8. ASP.Net開発サーバーに拡張子(.asp)を追加する方法
- 9. 拡張子からfirefoxにプロトコルハンドラを追加する方法
- 10. codeigniterルートに拡張子名を追加するには
- 11. サブディレクトリw/htaccessにサイレントファイル拡張子を追加する
- 12. 特定のファイルの.php拡張子を追加する方法
- 13. cakephp urlに拡張子を追加するには?
- 14. mod_rewrite不要なファイル拡張子を追加する
- 15. .shp拡張子をスキャンしてチラシマップに追加する
- 16. ビーマーラテックスにsvgファイル拡張子を追加するには?
- 17. gedit(Windows版)にファイル拡張子を追加する方法
- 18. イメージの拡張子がない場合に追加する
- 19. クロム拡張子にSVGスプライトを動的に追加します。
- 20. MembershipProviderに拡張メソッドを追加する
- 21. FHIR:カスタム拡張を追加する
- 22. 拡張操作を追加する
- 23. 拡張メソッドを追加するには?
- 24. Ionic2カスタム拡張メソッドを追加する
- 25. ySlowでCDNに追加Chromeの拡張子
- 26. Immutable.jsの追加の拡張?
- 27. grep countからファイル拡張子を追加
- 28. 追加の属性を持つXSD拡張子
- 29. Apache2で拡張子なしのファイルにContent/Typeヘッダーを追加する方法
- 30. 拡張可能なリストビューで特定の親に子を追加する方法
問題のある箇所を確認できるように、問題のあるコードを追加してください。 –
try { 保存=新しいJFileChooser(); int ReturnValue = Save.showSaveDialog(null); if(ReturnValue == JFileChooser.APPROVE_OPTION){ Base = Save.getSelectedFile(); DB =新しいDatabaseBuilder(ベース) .setFileFormat(Database.FileFormat.V2010) .create(); } } catch(HeadlessException | IOException P){ System.out.println( "エラー:" + P); System.out.println( "エラーが発生しました:P"); } – HaroldFinch