0

現在のファイルが存在するかどうかを確認し、存在する場合は同じ名前で+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 を無限にチェックするため、常に無限ループを返します。何か助けていただければ幸いです。

4

1 に答える 1

2

これは厳密には Android に関する質問ではないため、同様の Java コードに当てはまります。

複数のファイルがあると予想される場合は、ディレクトリ内のファイルのリストを取得し、反復して最大数を見つけます。何かのようなもの:

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

ディレクトリに他のファイルもある場合は、フィルターを list() に渡すこともできます。

または、これらのファイルが一時的なもので、実際のファイル名が重要でない場合は、File.createTempFile() を使用できます。一意の名前が自動的に割り当てられます。ファイルを識別できるように、プレフィックスとサフィックスを指定できます。

于 2011-08-08T02:09:07.390 に答える