使用特定名称创建临时文件

时间:2018-01-04 13:43:12

标签: java android

我需要使用没有随机数的特定名称创建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**

2 个答案:

答案 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"
);