打开文件
首先实例化JFileChoosers,可以用FileNameExtensionFilter来设置过滤器,showOpenDialog方法的返回值是int类型,因此定义一个value,最后如果value等于JFileChooser.APPROVE_OPTION就可以对文件进行操作,此处打印出文件路径。
private JFileChooser chooser;
FileNameExtensionFilter filter = new FileNameExtensionFilter("Allowed File", "txt","jar");
chooser.setFileFilter(filter);
int value = chooser.showOpenDialog(TestOpen.this);
if (value == JFileChooser.APPROVE_OPTION) {
File file = chooser.getSelectedFile();
System.out.println(file.getAbsolutePath());
}
如果要打开多个文件该怎么做呢?
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
chooser.setMultiSelectionEnabled(true);
int value = chooser.showOpenDialog(TestOpen.this);
if (value == JFileChooser.APPROVE_OPTION) {
File file[] = chooser.getSelectedFiles();
for (int i = 0; i < file.length; i++) {
System.out.println(file[i].getAbsolutePath());
}
}
保存文件
向保存文件这种操作一定要记得检查异常,稍有不慎就出错了。其实无非是调用一下createNewFile方法而已。
try {
JFileChooser chooser = new JFileChooser();
int value = chooser.showSaveDialog(TestSave.this);
if (value == JFileChooser.APPROVE_OPTION) {
File newfFile = chooser.getSelectedFile();
if (newfFile.exists() == false) {
newfFile.createNewFile();
}
}
} catch (HeadlessException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}