Android 如何存储具有相同编号但只有重复名称的图像,如_01.jpg“;
我正在存储一个名称为数字的图像。如何存储具有相同编号但仅具有“_01.jpg”的图像 更新:我拍了两张相同的照片。第一张图片的名字是“123.jpg”,当我第二次点击同一张图片并保存它时,名字应该是“123_01.jpg”。我怎么做Android 如何存储具有相同编号但只有重复名称的图像,如_01.jpg“;,android,Android,我正在存储一个名称为数字的图像。如何存储具有相同编号但仅具有“_01.jpg”的图像 更新:我拍了两张相同的照片。第一张图片的名字是“123.jpg”,当我第二次点击同一张图片并保存它时,名字应该是“123_01.jpg”。我怎么做 String s3 = editText.getText().toString(); { Intent chooserIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); File f = n
String s3 = editText.getText().toString();
{
Intent chooserIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File f = new File(Environment.getExternalStorageDirectory(), s3 + ".jpg");
chooserIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f));
imagaeToUploadUri = Uri.fromFile(f);
startActivityForResult(chooserIntent, CAMERA_PHOTO);
}
您可以使用
exists
方法检查给定文件是否已存在,并使用while
循环递增计数器以查找下一个可用文件名
下面是一个让你开始的例子
String s3 = editText.getText().toString();
File dir = Environment.getExternalStorageDirectory();
String filename = s3 + ".jpg";
File f;
int c = 0;
while ((f = new File(dir, filename)).exists()) // f is assigned within the loop condition
{
filename = s3 + "_" + c + ".jpg";
c++;
}
假设s3
是“somefile”,这将f
分配给somefile.jpg
、somefile\u 0.jpg
、somefile\u 1.jpg
等,直到找到可用的文件名为止(换句话说,直到f
不存在)。循环完成后,文件应该可以使用
Intent chooserIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
chooserIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f));
imagaeToUploadUri = Uri.fromFile(f);
startActivityForResult(chooserIntent, CAMERA_PHOTO);
为什么不
s3+“_01.jpg”
?您希望另一个img的数字是递增的吗?请您进一步解释一下……Pradeep Deshmukh,不,我不希望它是递增的。我所做的就是把同一张照片拍两次。第一张照片的名字是“123.jpg”,当我第二次点击同一张照片并保存它时,名字应该是“123_01.jpg”Stanly Moses,我所做的就是拍两张相同的照片。第一张图片的名字是“123.jpg”,当我第二次点击同一张图片并保存它时,名字应该是“123_01.jpg”,我该怎么做呢???@Moses欢迎来到StackOverflow。。!!如果答案对你有用,就要养成把它们标记为正确的习惯。这对你们俩都有好处。见: