JFileChooser 授予对特定文件夹的访问权限并将文件复制到该文件夹
JFileChooser give access to a specific folder and copy a file to it
我想将文件上传到本地文件夹(在我的电脑上)。用户应该 select 一个文件。这个文件应该被加载到一个文件夹中(这个文件夹在我的 Java class 中是硬编码的)。不幸的是我没有找到一个好的解决方案。
我刚刚发现了一些关于 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
。
我想将文件上传到本地文件夹(在我的电脑上)。用户应该 select 一个文件。这个文件应该被加载到一个文件夹中(这个文件夹在我的 Java class 中是硬编码的)。不幸的是我没有找到一个好的解决方案。
我刚刚发现了一些关于 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
。