这篇文章是我几天前提出的另一个问题的第二部分。然后使用这段代码,通过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错误