Java 如何创建一个JAR文件,将文件夹中的特定文件移动到另一个目录?
我创建了一个Java程序,基本上将特定“测试”文件夹中的所有文件移动到计算机上完全不同的特定目录。如何将“test”文件夹以及java和类文件打包成一个可运行的JAR文件Java 如何创建一个JAR文件,将文件夹中的特定文件移动到另一个目录?,java,file,jar,directory,exe,Java,File,Jar,Directory,Exe,我创建了一个Java程序,基本上将特定“测试”文件夹中的所有文件移动到计算机上完全不同的特定目录。如何将“test”文件夹以及java和类文件打包成一个可运行的JAR文件 import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import javax.swing.JOptionPane; public class
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import javax.swing.JOptionPane;
public class Test
{
public static void main(String[] args) throws IOException
{
File sourceFolder = new File("test");
String dataFolder = System.getenv("APPDATA");
File destinationFolder = new File(dataFolder + "\\testing");
copyFolder(sourceFolder, destinationFolder);
}
private static void copyFolder(File sourceFolder, File destinationFolder) throws IOException
{
if (sourceFolder.isDirectory())
{
if (!destinationFolder.exists())
{
destinationFolder.mkdir();
}
String files[] = sourceFolder.list();
for (String file : files)
{
File srcFile = new File(sourceFolder, file);
File destFile = new File(destinationFolder, file);
copyFolder(srcFile, destFile);
}
JOptionPane.showMessageDialog(null,"File installed successfully","Title",1);
}
else
{
Files.copy(sourceFolder.toPath(), destinationFolder.toPath(), StandardCopyOption.REPLACE_EXISTING);
}
}
}
我在移动测试文件夹时遇到此错误:
Exception in thread "main" java.nio.file.NoSuchFileException: test
at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at java.base/sun.nio.fs.WindowsFileCopy.copy(WindowsFileCopy.java:98)
at java.base/sun.nio.fs.WindowsFileSystemProvider.copy(WindowsFileSystemProvider.java:283)
at java.base/java.nio.file.Files.copy(Files.java:1298)
at Test.copyFolder(test.java:39)
at Test.main(test.java:16)
如果要在代码中创建.jar文件,请使用。如果要在命令行中执行此操作,请参见。请注意,有些构建工具只需在构建文件中的几行就可以完成这项工作,例如。我在命令行中完成了这项工作,jar文件工作正常,但是,无论何时移动测试文件夹,或者如果移动整个jar文件,它都不再工作。请更具体地说,而不是“它不工作”你怎么知道它不起作用?用足够的细节描述你的行为,让其他人可以尝试。如果您遇到异常,请编辑您的问题并显示该异常的整个堆栈跟踪。一旦移动jar文件,我双击它时不会发生任何事情,但如果测试文件夹位于jar文件的同一目录中,它会执行它应该执行的操作。如果双击时.jar文件不工作,您应该通过在命令窗口中运行程序来观察程序的实际输出,使用类似
java-jarc:\Users\josefk\projects\MyProgram.jar
。