gpt4 book ai didi

java - NetBeans GUI Builder - 将整个图像目录添加到另一个特定目录,以便将图像导入到那里

转载 作者:行者123 更新时间:2023-11-29 05:50:12 25 4
gpt4 key购买 nike

我目前正在构建一个应用程序,我希望将整个目录导入到另一个目录中。我正在使用 apache commons.io 库,您需要导入一个 jar 文件。

假设我将从一个目录中选择一个 JfileChooser 从 GuiBuilder Netbeans 到 C:\output。我希望所有图像都导入到那里。我的代码没有运行。当我按下 JButton2(负责加载目录的按钮时,我得到一个异常

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at WebAppImg.jButton2ActionPerformed(WebAppImg.java:141) ( The second line points out to : String filename = f.getAbsolutePath(); )

copyDirectoryToDirectory 方法也许。但我这样做的想法是,当将 FileSelectionMode 设置为 Directories_Only 时,绝对路径将类似于 C:\importFile 而不是 C:\importFile\image1.jpg 例如,这样它就不会出错。但也许这是错误的?

到目前为止,这是我的代码。

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
// TODO add your handling code here:(for importing a whole directory(folder) from C:\images1 into C:\output ).
JFileChooser chooser = new JFileChooser();
chooser = new JFileChooser();
//chooser.setCurrentDirectory(new java.io.File("."));
//chooser.setDialogTitle(choosertitle);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
//chooser.showOpenDialog(null);
//chooser.setAcceptAllFileFilterUsed(false);

File f = chooser.getSelectedFile();

String filename = f.getAbsolutePath();
try {

File srcDir = new File(filename);
File destDir = new File("C:/output/");

FileUtils.copyDirectoryToDirectory(srcDir, destDir);

}
catch (Exception ex) {
ex.printStackTrace();
}
}

最佳答案

我相信您没有使用正确的 FileUtils 方法。请尝试使用 copyDirectory(File srcDir, File destDir);

更新

如果你想复制src目录下的所有文件,使用上面的方法。如果您想将目录复制到 C:\imagesC:\COPIED copyDirectoryToDirectory(File srcDir, File destDir); 将导致 C:\COPIED\images 因为它将整个目录复制到另一个目录。

这是我的工作示例...

private void jFileChooser1ActionPerformed(java.awt.event.ActionEvent evt) {                                              
File src = jFileChooser1.getSelectedFile();
File dest = new File("C:\\COPIED");
System.out.println(src.getAbsolutePath());
System.out.println(dest.getAbsolutePath());
try {
FileUtils.copyDirectory(src, dest);
//FileUtils.copyDirectoryToDirectory(src, dest);
} catch (IOException ex) {
Logger.getLogger(FileChoosingFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}

这是一个工作示例:stackoverflow-jchooser.zip它应该只用作起点。复制应该在单独的线程而不是 EDT 中完成。

关于java - NetBeans GUI Builder - 将整个图像目录添加到另一个特定目录,以便将图像导入到那里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14196519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com