用户界面—Java GUI构建器—使用JFileChooser将图像导入到目录,并将给定目录导入到标准目录



这篇文章是我几天前提出的另一个问题的第二部分。然后使用这段代码,通过JButton1,我可以附加一个文件,并使其在应用程序北面和东面的窗口中可见。我正在尝试导入a:

1)将新映像放入某个目录,例如放入C:output

2)整个目录(文件夹)的图像,让我们说从C: importtimages

into C:output .

为此,我假设我有一些图像在C: importtimages目录。下面,这些是我需要填写的2个代码样本,以便我想要工作的东西。尝试加载目录的第一个方法无法运行。我认为它的错误可能是与GUI Builder中的Filechooser按钮有关。

这是加载整个目录的方法。

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:(for importing a whole directory(folder) from C:importImages into C:output ).
JFileChooser chooser = new JFileChooser();
        chooser = new JFileChooser(); 
        File f = chooser.getSelectedFile();
        String filename = f.getAbsolutePath();
    try {
        ImageIcon ii=new ImageIcon(scaleImage(250, 250, ImageIO.read(new File(filename))));//get the image from file chooser (directories)
        //jLabel1.setIcon(ii);
        File srcDir = new File(filename);
        File destDir = new File("C:/output/");
        FileUtils.copyDirectoryToDirectory(srcDir, destDir);
    }
        catch (Exception ex) {
        ex.printStackTrace();
    }
    }

和导入单个文件的方法。

  private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here(for importing a single image to directory C:output ).
--
    }

提前感谢!

学习的最好方法是亲自尝试。
我可以向你展示这些可能性。试着用这些有用的方法插入到你的代码中。

问题:我正在尝试导入a:

  • 1)将新图像放入某个目录,例如放入C:output

答:

如何在Java中将文件从一个目录复制到另一个目录是常见的需求,因为在file API中没有直接的方法将文件从一个位置复制到另一个位置。

复制文件的一种方法是从FileInputStream中读取数据,并将相同的数据写入到另一个目录。

值得庆幸的是,您不需要在这里重新发明轮子,有一些可用的开源库允许我们轻松地将Java文件从一个目录复制到另一个目录。其中一个这样的库是Apache commons IO,它包含一个名为FileUtils的类,它提供了与文件相关的操作的实用方法。

复制并重命名文件到其他位置

FileUtils.copyFile

FileUtils。copyFile(sourceFile, targetFile)可以使用

    String source = "C:/output/myImage.jpg";
    //directory where file will be copied
    String target ="C:/importImages/";
    //name of source file
    File sourceFile = new File(source);
    String Filename = sourceFile.getName();
    File targetFile = new File(target+Filename);
    //copy file from one location to other
    FileUtils.copyFile(sourceFile, targetFile);

问题:我现在正在尝试导入a:

  • 2)整个目录(文件夹)的图像,让我们说从C: importtimagesinto C:output .

答:

现在用java完成目录迭代的标准方法是什么?

在java中迭代目录的最佳方法?

在代码中添加这些方法。没那么难。

  • 测试文件扩展名(.jpg .gif…)
  • 别忘了抓
  • NullPointerException -如果源或目的为空
  • IOException -如果源或目标无效
  • IOException -如果在复制
  • 期间发生IO错误

相关内容

  • 没有找到相关文章

最新更新