Как создать новый файл, если существующий уже существует? - PullRequest
0 голосов
/ 08 августа 2011

Мне было интересно, можно ли создать метод, который бы проверял, существует ли текущий файл, и если он существует, то он создает новый файл с тем же именем, но +1.Например.файл, файл1, файл2, файл3.

Это должно произойти даже в случае сбоя моего приложения.В настоящее время я использую это

Path = xxxxxxx;
index=0;
int index = 0;
    File myFile = new File(Path);
    if(!myFile.exists()){
    myFile.createNewFile(); 
    }

    else
    {
    index++;
     this.resultPath = xxxxxxx + index;
    }

Это всегда возвращает бесконечный цикл, так как мое приложение аварийно завершает работу (и должно быть), и индекс просто перезапускается обратно в 0, а цикл проверяет индекс = 0 бесконечно.Буду признателен за любую помощь.

1 Ответ

2 голосов
/ 08 августа 2011

Это не совсем вопрос Android, так что это касается любого аналогичного кода Java.

Если вы ожидаете иметь более одного файла, получите список файлов в каталоге и выполните итерацию, чтобы найти наибольшее число.Что-то вроде:

File myDir = new File("myDir");
String[] files = myDir.list();

Вы также можете передать фильтр в list (), если у вас есть и другие файлы в каталоге.

В качестве альтернативы, если эти файлы являются временными и фактическимиИмя файла не имеет большого значения, вы можете использовать File.createTempFile ().Он автоматически назначит уникальное имя.Вы можете указать префикс и суффикс, чтобы идентифицировать файлы.

...