我需要使用没有随机数的特定名称创建Temp File
,如果没有解决方案,我如何在Internal storage
private File createImageFile() throws IOException {
//storageDir.mkdirs();
String imageFileName = Integer.toString(ImgCount)+"temp";
File storageDir1= getExternalFilesDir(Environment.DIRECTORY_PICTURES+ImgDir);
File image = File.createTempFile(
imageFileName, /* prefix */
".jpg", /* suffix */
storageDir1 /* directory */
);
mCurrentPhotoPath = image.getAbsolutePath();
return image;
}
创建文件像这样保存
/storage/emulated/0/Android/data/....../**1temp1004505332.jpg**
答案 0 :(得分:2)
您不能使用File.createTempFile()
,Below is from documentation
文件createTempFile(String 字首, 字符串后缀, 文件目录)使用给定的前缀和后缀字符串,在指定的目录中创建一个新的空文件 生成它的名字。如果此方法成功返回,那么它就是 保证:
返回的抽象路径名表示的文件不存在 在调用此方法之前,此方法或其任何方法都没有 变体将在当前再次返回相同的抽象路径名 调用虚拟机。
但是,您可以使用File(String pathname)
创建具有指定名称和路径的文件,如果您写入外部存储,则不要忘记您需要WRITE_EXTERNAL_STORAGE
通过转换给定的路径名字符串来创建新的File实例 到一个抽象的路径名。
答案 1 :(得分:0)
在您的情况下,如果要存储具有特定名称的文件,请使用此选项:
File image = new File(
storageDir1 ,
imageFileName +
".jpg"
);