2010-01-03 2 views
0

Сценарий: я сохранить рисунок с именем файла в качестве картины. Через некоторое время я сделал некоторые изменения в файле картинке и сохранил его снова.Как сохранить файл с увеличивающимся суффиксом - file1, file2 и т.д.

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

так что в конце концов, если я сделал изменения в файлах так много раз, у меня будет много файлов с именами, как картины, Изображение1, Изображение2, Изображение3 ...

+0

Для того, чтобы помочь вам более точно, нам необходимо знать, как вы «сохраняете» свой файл. Это через метод вывода или автоматически? Пожалуйста, уточните тур. –

+0

Изменено название вопроса соответствия. –

ответ

2

Вы можете использовать метод create temp file для этого используется:

  • префиксом базовое имя файла, в данном случае это будет «картинка»
  • в качестве суффикса типа изображения, например, «.png»

Созданный файл будет уникальным по определению.

Другой способ заключается в создании уникального имени файла на основе текущего времени, как в:

SimpleDateFormat fmt = new SimpleDateFormat("picture_yyyyMMdd_HHmmss.png"); 
String filename = fmt.format(new Date()); 

Это даст вам Внушительные имена файлов касаемо редактировать историю.

+0

спасибо rsp :-) .. – Jessy

1

Конечно, если программа это так. Если у вас есть желаемое имя файла, проверьте, существует ли файл с тем же именем с увеличением целого числа, начинающегося с 1. Когда вы найдете тот, который не существует, используйте его как имя. Не забудьте сделать правильные действия с расширениями файлов (вы, вероятно, хотите file2.txt, а не file.txt.2).

if filename exists 
{ 
    loop suffix from 1 to some limit 
    { 
     if filename + suffix doesn't exist 
     { 
      exit loop and use this name 
     } 
    } 
} 
+1

Вы хотите получить двоичный поиск, если вы разрешите пользователю иметь произвольное количество файлов сохранения. –

+0

@ Thorbjørn: возможно, это правда, но зависит от желаемого поведения, если файл где-то посередине удален. –

Смежные вопросы