android 创建具有特定名称的临时文件

vawmfj5a  于 2023-11-15  发布在  Android
关注(0)|答案(3)|浏览(159)

我需要创建临时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**

4si2a6ki

4si2a6ki1#

你不能用File.createTempFile()做到这一点,下面是来自文档
File函数TempFile(String prefix,String suffix,File directory)在指定的目录中创建一个新的空文件,使用给定的前缀和后缀字符串来生成其名称。如果此方法成功返回,则保证:
在调用此方法之前,返回的抽象路径名表示的文件不存在,并且此方法及其任何变体都不会在虚拟机的当前调用中再次返回相同的抽象路径名。
但是,您可以使用File(String pathname)创建具有指定名称和路径的文件,不要忘记,如果您写入外部存储,则需要WRITE_EXTERNAL_EXTERNAL
通过将给定的路径名字符串转换为抽象路径名来创建新的File示例。

fdbelqdn

fdbelqdn2#

在您的情况下,如果您想存储具有特定名称的文件,请使用此选项:

File image = new File(
        storageDir1 , 
        imageFileName + 
        ".jpg"
);

字符串

cunj1qz1

cunj1qz13#

使用/tmp/{fileName}

File tempFile = new File(
    "/tmp/",
    fileName
);

字符串

相关问题