文件选择器(FileChooser)
单选文件
FileChooser chooser = new FileChooser();
chooser.setTitle("请选择要打开的文件");//不可设置
chooser.setInitialDirectory(new File("E:\\"));//打开D盘,不设置的话,默认进入首页
//筛选文件类型
chooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("图片类型","*.jpg","*.png"),
new FileChooser.ExtensionFilter("文本类型","*.txt","*.doc"),
new FileChooser.ExtensionFilter("所有类型","*.*"));
File file = chooser.showOpenDialog(new Stage());
//如果不选文件直接关闭窗口的话,返回值为空
if(file != null){
System.out.println(file.getAbsolutePath());//获得要选中的文件的地址
}
- 筛选文件类型的图
多选文件
FileChooser chooser = new FileChooser();
List<File> list = chooser.showOpenMultipleDialog(new Stage());//多选文件
//如果不选文件直接关闭窗口的话,返回值为空
if(list != null){
for (File file:list){
System.out.println(file.getAbsolutePath());
}
}
保存文件
FileChooser chooser = new FileChooser();
chooser.setTitle("请选择保存的地址");//不可设置
chooser.setInitialDirectory(new File("E:\\"));//打开E盘
chooser.setInitialFileName("我要保存这个txt文件");//要保存的文件的名字
chooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("文本类型","*.txt"));
File file = chooser.showSaveDialog(new Stage());//多选文件
//如果不选文件直接关闭窗口的话,返回值为空
if(file != null){
System.out.println(file.getAbsolutePath());
//接下来我们也可以对这个已经创建的文件进行写入
}
文件夹选择器
DirectoryChooser chooser = new DirectoryChooser();
chooser.setTitle("文件夹选择器");
chooser.setInitialDirectory(new File("E:\\"));//打开E盘
File file = chooser.showDialog(new Stage());
if (file != null){
File[] list = file.listFiles();
for (File f :list){
System.out.println(f.getName());
}
}
仅打开资源管理器
方案一(推荐)
Desktop desktop = Desktop.getDesktop();
try {
desktop.open(file);
} catch (IOException e) {
throw new RuntimeException(e);
}
注:仅当打开的是文件夹时,才会打开资源管理器,否则会直接打开文件。
方案二 仅适用Window
不指定位置
Runtime.getRuntime().exec("explorer.exe");
指定地址,如果指定的文件,会选定文件
Runtime.getRuntime().exec("explorer.exe /select," + "C:\\Users\\Administrator\\Desktop");