Измените имя файла и его расширение, прежде чем выводить его Java - PullRequest
3 голосов
/ 18 января 2012

Допустим, у меня есть файл в D: который имеет путь к файлу:

        D:\work\2012\018\08\2b558ad8-4ea4-4cb9-b645-6c9a9919ba01

на данный момент имя этого файла не имеет смысла. У него нет формата. Я хотел бы иметь возможность создавать объект файла из указанного выше пути к файлу в Java и изменять его имя и формат перед записью в байтах. Новый путь может быть следующим:

       D:\work\2012\018\08\mywork.pdf

После внесения изменений я по-прежнему смогу получить доступ к исходному файлу в обычном режиме.

Я уже знаю тип файла и его имя, поэтому проблем с получением этих сведений не возникнет.

Ответы [ 2 ]

10 голосов
/ 18 января 2012

Просто переименуйте файл:

File file = new File(oldFilepath);
boolean success = file.renameTo(new File(newFilepath));

Вы также можете просто указать имя файла и использовать того же родителя, что и текущий файл:

File file = new File(oldFilepath);
file.renameTo(new File(file.getParentFile(), newFilename));
5 голосов
/ 18 января 2012

Не совсем понятно, что именно вы хотите; Я надеюсь, что этот ответ полезен для вас.

Предположим, у вас есть объект java.io.File, представляющий D:\work\2012\018\08\2b558ad8-4ea4-4cb9-b645-6c9a9919ba01, и вы хотите иметь объект File, представляющий D:\work\2012\018\08\mywork.pdf. Вы уже знаете новое имя файла mywork.pdf, но хотите получить имя каталога из исходного объекта File. Вы можете сделать это так:

File original = new File("D:\\work\\2012\\018\\08\\2b558ad8-4ea4-4cb9-b645-6c9a9919ba01");

// Gets the File object for the directory that contains the file
File dir = original.getParentFile();

// Creates a File object for a file in the same directory with the name "mywork.pdf"
File result = new File(dir, "mywork.pdf");
...