Переименуйте файл, сохранив расширение файла в Java

1

Как переименовать файл, сохранив расширение файла?

В моем случае я хочу переименовать файл при его загрузке. Я использую библиотеку загрузки файлов Apache.

Ниже приведен фрагмент кода.

File uploadedFile = new File(path + "/" + fileName);

item.write(uploadedFile);
//renaming uploaded file with unique value.          
String id = UUID.randomUUID().toString();
File newName = new File(path + "/" + id);
if(uploadedFile.renameTo(newName)) {

} else {
    System.out.println("Error");
}

Вышеупомянутый код также меняет расширение файла. Как я могу его сохранить? Есть ли хороший способ с библиотекой загрузки файлов apache commons?

Теги:
file-upload
file-io
apache-commons-fileupload

1 ответ

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

Попробуйте разделить и использовать только расширение:

String[] fileNameSplits = fileName.split("\\.");
// extension is assumed to be the last part
int extensionIndex = fileNameSplits.length - 1;
// add extension to id
File newName = new File(path + "/" + id + "." + fileNameSplits[extensionIndex]);

Пример:

public static void main(String[] args){
    String fileName = "filename.extension";
    System.out.println("Old: " + fileName);
    String id = "thisIsAnID";
    String[] fileNameSplits = fileName.split("\\.");
    // extension is assumed to be the last part
    int extensionIndex = fileNameSplits.length - 1;
    // add extension to id
    System.out.println("New: " + id + "." + fileNameSplits[extensionIndex]);
}

БОНУС - ЩЕЛЧКА МЕНЯ

Ещё вопросы

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