Работа с кодом Java для обрезки всех изображений в папке с помощью java-кода, processbuilder, Этот код работает, но он работает только для первого файла, другие файлы не работают. Пожалуйста, помогите мне !! Благодаря!!Java Crop all Images in Folder
Вот мой код:
import java.io.File;
import java.io.IOException;
public class test1 {
/**
* @param args
*/
public static void main(String argv[]) throws IOException, InterruptedException {
// TODO Auto-generated method stub
try {
File folder = new File("Map_Image");
File[] BFFile = folder.listFiles();
String full_path = null;
String new_path = null;
for (File file : BFFile) {
String str = file.getName();
System.out.println("Image File:- " + str);
full_path = file.getAbsolutePath();
new_path = folder + "\\" + "new_" + str;
System.out.println("New Image Files:- " + new_path);
try {
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/c", "C:\\Program Files\\ImageMagick-6.8.8-Q16\\convert.exe", "-crop", "512x512+0-20", full_path, new_path);
Process p = pb.start();
p.waitFor();
} catch(Exception error1) {
error1.printStackTrace();
}
}
} catch(Exception error) {
error.printStackTrace();
}
}
}
код он работает, но, это делает только для первых файлов его не делать для других файлов .. Выход:
Image File:- address_map.jpg
New Image Files:- Map_Image\new_address_map.jpg
Image File:- Michael Couse_200857860.jpg
New Image Files:- Map_Image\new_Michael Couse_200857860.jpg
ProcessBuilder только работает один раз , его не работает для других файлов .. Пожалуйста, помогите мне! Спасибо, Advanced!
Вам нужно рекурсивное решение (* Я предполагаю, что эти другие файлы живут в подкаталогах?) – mre
nope все файлы в одной папке не в подпапках .. Я не знаю, почему работает только для первого файла .. Пожалуйста, помогите мне спасибо! – user3187463
Что возвращает 'p.waitFor();' возврат в первый раз? – PopoFibo