Переименование файлов в папке без переименования расширения с использованием Java

1

Я пытаюсь переименовать файлы в папке с значением столбца csv файла, сопоставляя значения столбца2 и имена изображений, содержащиеся в папке. Значения imagenames и column2 будут равны. Я хочу просто переименовать значение column1. Как я могу это достичь.,

Я написал код для получения имен файлов и значений из файла csv.

File folder = new File("D:\\Imagefiles");
    File[] listOfFiles = folder.listFiles();
    for (File file1 : listOfFiles) {
          if (file1.isFile()) {
             //System.out.println(file1.getName());
              filename = file1.getName();
            System.out.println("Imagename------->"+filename);

          }
    }
File file = new File("C:\\Users\\Karthik\\Desktop\\Javatask\\csvfiles\\filteredfile.csv");
    List<String> lines = Files.readAllLines(file.toPath(), StandardCharsets.UTF_8);
    for (String line : lines) {
        String[] array = line.split(",");
        if (array.length < 0) 
            continue;
        System.out.println("--------->"+array[1]);

         File f = new File("C:\\Users\\Karthik\\Desktop\\Javatask\\Imagefiles\\"+filename); 
         f.renameTo(new File("C:\\Users\\Karthik\\Desktop\\Javatask\\Imagefiles\\"+array[0]+".jpg"));
    }

он переименовывается, но не соответствует столбцу2.My csv выглядит ниже

column1, column2
Вино, ghf_10677.jpg
Зеленый и красный, ghf_10482.jpg
Затененный крем, ghf_10483..jpg
Белый и оранжевый, ghf_10484.jpg

Теги:
csv

1 ответ

0
Лучший ответ

используя commons-io, вот как вы могли это сделать:

    File originalFile = new File("foo.bar");
    ...

    String extension = FilenameUtils.getExtension(originalFile.getName());
    String baseName = FilenameUtils.getBaseName(originalFile.getAbsolutePath());

    File renamedFile = new File(originalFile.getParent(), "newFileName." + extension);
    if (!originalFile.renameTo(renamedFile)) {
        throw new IOException("could not rename file.");
    }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню