axis axis
Ученик
(132),
на голосовании
1 год назад
Программа работает в виде написанного кода в intellij idea, но после сборки и установки она попросту ничего не делает при запуске? Программа - сортировщик изображений. Простая штука для уборки рабочего стола одним нажатием.
public class Cleaner { public static void clean(String directory) { File filesDirectory = new File(directory); File newDirectory = new File(newDirectory(directory)); for (File file : getImagesFromFolder(filesDirectory)) { try { copyFile(file.getPath(), new File(newDirectory, file.getName()).getPath()); System.out.println("Файл успешно копирован!"); file.delete(); System.out.println("Старый файл удалён."); } catch (IOException e) { throw new RuntimeException("Файл не был копирован/удалён.", e); } } }
public class Main { public static void main(String[] args) { String directory = "C:\\Users\\mrart\\OneDrive\\Рабочий стол"; Cleaner.clean(directory); } }
public class Cleaner {
public static void clean(String directory) {
File filesDirectory = new File(directory);
File newDirectory = new File(newDirectory(directory));
for (File file : getImagesFromFolder(filesDirectory)) {
try {
copyFile(file.getPath(), new File(newDirectory, file.getName()).getPath());
System.out.println("Файл успешно копирован!");
file.delete();
System.out.println("Старый файл удалён.");
} catch (IOException e) {
throw new RuntimeException("Файл не был копирован/удалён.", e);
}
}
}
public static File[] getImagesFromFolder(File folder) {
return folder.listFiles(dir -> {
String name = dir.getName();
return name.toLowerCase().endsWith(".jpg")
|| name.toLowerCase().endsWith(".png")
|| name.toLowerCase().endsWith(".jpeg")
|| name.toLowerCase().endsWith(".heic");
});
}
public static String newDirectory(String oldDirectory) {
File newDirectory = new File(oldDirectory + "\\" + "Изображения");
if (!newDirectory.exists() && newDirectory.mkdir()) {
System.out.println("Директория успешно создана.");
} else {
System.out.println("Директория уже существует.");
}
return newDirectory.getPath();
}
public static void copyFile(String sourcePath, String targetPath) throws IOException {
try (FileInputStream inputStream = new FileInputStream(sourcePath);
FileOutputStream outputStream = new FileOutputStream(targetPath)) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read (buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
}
}
}
public class Main {
public static void main(String[] args) {
String directory = "C:\\Users\\mrart\\OneDrive\\Рабочий стол";
Cleaner.clean(directory);
}
}