Сохранение видеофайла путем увеличения имени файла в цикле - PullRequest
1 голос
/ 27 февраля 2010

Я хочу сохранить видеофайл в C: \, увеличив имя файла, например. video001.avi video002.avi video003.avi и т. д. Я хочу сделать это в Java. Программа на

Проблема в Java-программировании на Windows7 (хорошо работает в Windows XP)

Как мне увеличить имя файла, чтобы оно сохранялось без замены старого файла.

Ответы [ 2 ]

1 голос
/ 27 февраля 2010

Используя File.createNewFile (), вы можете атомарно создать файл и определить, действительно ли текущий поток создал файл, возвращаемое значение этого метода - логическое значение, которое сообщит вам, был ли новый файл создано или нет. Простая проверка, существует ли файл перед его созданием, поможет, но не гарантирует, что при создании и записи в файл его создал текущий поток.

1 голос
/ 27 февраля 2010

У вас есть два варианта:

  1. просто увеличьте счетчик и положитесь на тот факт, что вы являетесь единственным запущенным процессом, пишущим эти файлы (и ни один из них уже не существует). Так что вам не нужно проверять наличие столкновений. Это (очевидно) подвержено ошибкам.
  2. Используйте объект Файл (или Apache Commons FileUtils ), чтобы получить список файлов, затем увеличьте счетчик и определите, существует ли соответствующий файл. Если нет, то напишите ему и выйдите. Это подход грубой силы, но если вы не пишете тысячи файлов, это вполне приемлемо с точки зрения производительности.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...