2016-12-24 23 views
2

ファイルがすでに存在する場合、ファイル名をインクリメントする方法はありますか?ファイルが存在する場合、ファイル名をインクリメントする方法

File file = new File(myDir, at.getText().toString() + ".jpg"); 

for (int num = 0; file.exists(); num++) { 
    file = new File(myDir, at.getText().toString() + num + ".jpg"); 
} 

// Now save/use your file here 
+0

質問が解決したと思われる場合は、回答を受け入れることができます。 –

答えて

5

int num = 0; 

String save = at.getText().toString() + ".jpg"; 

File file = new File(myDir, save); 

if (file.exists()) { 
    save = at.getText().toString() + num +".jpg"; 

    file = new File(myDir, save); 
    num++; 
} 

このコードは動作しますが、唯一の2つのファイルが

+0

ありがとう! Woks Perfecct! :) – DarShan

1

これを試してみてくださいfile.jpgとfile2.jpgのように保存されている - は、ここで私が使用していたコードですこの問題は常にnum = 0に初期化されますので、fileが存在する場合はfile0.jpgを保存し、file0.jpgが存在するかどうかを確認しないでください。 だから、仕事をコードする。利用可能なまで確認する必要があります:

int num = 0; 
String save = at.getText().toString() + ".jpg"; 
File file = new File(myDir, save); 
while(file.exists()) { 
    save = at.getText().toString() + (num++) +".jpg"; 
    file = new File(myDir, save); 
} 
0
int i = 0; 
String save = at.getText().toString(); 
String filename = save +".jpg"; 
File f = new File(filename); 
while (f.exists()) { 
    i++; 
    filename =save+ Integer.toString(i)+".jpg"; 
    f = new File(filename); 
} 
f.createNewFile(); 
関連する問題