通常我们用JFileChooser来辅助完成文件的读写。使用JFileChooser的步骤如下:
也可使用 addChoosableFileFilter 方法添加文件过滤器
通过showdialog方法打开文件对话框,代码如下:
- 1.声明一个JFileChooser对象
- 2.为其添加文件过滤器,当然这个不是必须的。
- 3.调用了其showDialog方法后返回一个整型值,根据这个值可以判断用户的选择,如果用户没有选择“取消”,则接下来可以根据JFileChooser获取所选文件的基本信息,例如路径、文件名等等。
可使用setFileFilter方法添加文件过滤器
FileChooser fileChooser = new JFileChooser();
//添加过滤的两种方法:
FileNameExtensionFilter ff = new FileNameExtensionFilter( null, "txt");
fileChooser.setFileFilter(ff);
也可使用 addChoosableFileFilter 方法添加文件过滤器
fileChooser.addChoosableFileFilter(new javax.swing.filechooser.FileFilter() {
@Override
public String getDescription() {
return "*.txt";
}
@Override
public boolean accept(File arg0) {
return arg0.getName().endsWith(".txt");
}
}
);
通过showdialog方法打开文件对话框,代码如下:
int option = fileChooser.showOpenDialog(null);
if(option == JFileChooser.APPROVE_OPTION){
//获取基本信息
System.out.println("路径:"+fileChooser.getSelectedFile().getPath());
System.out.println("绝对路径:"+fileChooser.getSelectedFile().getAbsolutePath());
System.out.println("文件名称:"+fileChooser.getSelectedFile().getName());
String path = fileChooser.getSelectedFile().getAbsolutePath();
//读入
FileReader fReader = new FileReader(path);
BufferedReader bReader = new BufferedReader(fReader);
ArrayList<String> data = new ArrayList<String>();
String row = null;
while((row = bReader.readLine()) !=null){
row = row.replaceAll("\\s*","");//去掉空格
data.add(row);
}
}