Я создал Java программу, которая в основном перемещает все файлы в указанной c «тестовой» папке в совершенно другой и указанный c каталог на компьютере. Как я могу упаковать папку «test» и файлы java и class в один исполняемый файл 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 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);
}
}
}
Я получаю эту ошибку при перемещении папки test:
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)