选中文件:
btntxt.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 按钮点击事件
JFileChooser chooser = new JFileChooser(); // 设置选择器
chooser.setMultiSelectionEnabled(false); // 设为多选
int returnVal = chooser.showOpenDialog(btntxt); // 是否打开文件选择框
System.out.println("returnVal=" + returnVal);
if (returnVal == JFileChooser.APPROVE_OPTION) { // 如果符合文件类型
String filepath = chooser.getSelectedFile().getAbsolutePath(); // 获取绝对路径
System.out.println(filepath);
System.out.println("You chose to open this file: " + chooser.getSelectedFile().getName()); // 输出相对路径
}
}
});
保存文件:
public void saveFile() {
//弹出文件选择框
JFileChooser chooser = new JFileChooser();
//后缀名过滤器
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"(*.xlsx)", "xlsx");
chooser.setFileFilter(filter);
//下面的方法将阻塞,直到【用户按下保存按钮且“文件名”文本框不为空】或【用户按下取消按钮】
int option = chooser.showSaveDialog(null);
if(option==JFileChooser.APPROVE_OPTION){ //假如用户选择了保存
File file = chooser.getSelectedFile();
String fname = chooser.getName(file); //从文件名输入框中获取文件名
//假如用户填写的文件名不带我们制定的后缀名,那么我们给它添上后缀
if(fname.indexOf(".xlsx")==-1){
file = new File(chooser.getCurrentDirectory(),fname+".xlsx");
System.out.println("renamed");
System.out.println(file.getName());
}
try {
FileOutputStream fos = new FileOutputStream(file);
//写文件操作……
fos.close();
} catch (IOException e) {
System.err.println("IO异常");
e.printStackTrace();
}
}
}