如何解决JFileChooser允许访问特定文件夹并将文件复制到该文件夹
我想将文件上传到本地文件夹(在我的PC上)。用户应选择一个文件。比该文件应加载到一个文件夹中(此文件夹在我的Java类中进行了硬编码)。不幸的是,我没有找到一个好的解决方案。
我刚刚发现了一个关于JFileChooser
的东西,很高兴打开一个文件,但不加载它。
public static void main(String[] args){
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"JPG & GIF Images","jpg","gif");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " +
chooser.getSelectedFile().getName());
}
}
是否可以仅使文件选择器访问特定文件夹?文件夹是这样硬编码的:
public static String uploadPath = System.getProperty("user.dir") + "/uploads Modul1";
解决方法
复制或移动文件与选择文件的方式无关。复制文件的简单方法是使用Files.copy
method。将其添加到现有代码中的方法如下:
int returnVal = chooser.showOpenDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION) {
File selectedFile = chooser.getSelectedFile();
System.out.println("You chose to copy this file: " +
selectedFile.getName());
Path newPath = Paths.get(uploadPath,selectedFile.getName());
Files.copy(selectedFile.toPath(),newPath);
}
官方教程中有关于复制文件的部分:https://docs.oracle.com/javase/tutorial/essential/io/copy.html
如果要移动而不是复制文件,请使用Files.move
而不是Files.copy
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。