2016-12-24 54 views
2

如何增加文件名,如果文件已经存在? 下面是我使用的代码 -如何增加文件名如果文件存在

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个文件被保存像file.jpg和file2.jpg

+0

如果您觉得您的查询已解决,您可以接受答案。 –

回答

5

此问题始终是初始化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

谢谢!炒锅完美! :) – DarShan

1

试试这个:

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
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(); 
相关问题