【问题标题】:Create Temp File with specific name创建具有特定名称的临时文件
【发布时间】:2018-01-04 13:43:11
【问题描述】:

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

【问题讨论】:

标签: java android


【解决方案1】:

File.createTempFile()Below is from documentation 无法做到这一点

文件 createTempFile (String 字首, 字符串后缀, 文件目录)在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串 生成它的名字。如果此方法成功返回,那么它是 保证:

返回的抽象路径名表示的文件不存在 在调用此方法之前,此方法及其任何 变体将在当前返回相同的抽象路径名 调用虚拟机。

但是,您可以使用File(String pathname) 创建具有指定名称和路径的文件,不要忘记,如果您写入外部存储,您将需要WRITE_EXTERNAL_STORAGE

通过转换给定的路径名​​字符串创建一个新的 File 实例 到一个抽象的路径名中。

【讨论】:

    【解决方案2】:

    如果您想存储具有特定名称的文件,请使用它:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-16
      • 1970-01-01
      • 2017-01-06
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多