为了账号安全,请及时绑定邮箱和手机立即绑定

简单日期格式不起作用创建临时文件

简单日期格式不起作用创建临时文件

浮云间 2022-09-14 16:41:04
我正在创建新的特梅普文件,并希望使格式“yyyyMDd”,但它的工作直到创建临时文件。private File createFile() throws IOException{        String tempName = new SimpleDateFormat("yyyyMMdd").format(new Date());        File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);        Log.d("e",tempName);        File image = File.createTempFile(                tempName,                ".png",                storageDir        );        Log.d("e",image.getName());        mCurrentPhotoPath = image.getAbsolutePath();        return image;    }日志D/e: 20190402D/e: 201904021419980777854538831.png
查看完整描述

3 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

File.createTempFile允许您为创建的文件指定前缀和后缀,但不指定全名,因为它的名称中有一个随机部分。如果你想在临时目录中有一个具有该名称的文件,你需要使用这样的东西:


File image = new File(

        System.getProperty("java.io.tmpdir") , 

        tempName + 

        ".png"

    );


查看完整回答
反对 回复 2022-09-14
?
慕容708150

TA贡献1831条经验 获得超4个赞

简单的答案,您无法更改使用 创建的文件的名称。它具有每个文件的默认唯一名称。createTempFile

长答案,根据 https://docs.oracle.com/javase/7/docs/api/java/io/File.html#createTempFile(java.lang.String,%20java.lang.String,%20java.io.File) :

  1. 在调用此方法之前,由返回的抽象路径名表示的文件不存在,并且

  2. 此方法及其任何变体都不会在虚拟机的当前调用中再次返回相同的抽象路径名。


查看完整回答
反对 回复 2022-09-14
?
呼唤远方

TA贡献1856条经验 获得超11个赞

似乎是方法本身的一部分。我正在查看文档,它说“一旦进行了这些调整,新文件的名称将通过连接前缀,五个或更多内部生成的字符和后缀来生成。它似乎在最后生成随机字符以保证唯一性。createTempFile

我想你可以做的是将文件对象存储在你需要的地方,在那里你可以访问它,只需获取前6个字符,这应该是日期,或者你可以创建一个普通文件。也有可能,也许你可以在创建临时文件后重命名它,只使用前6个字符?不完全确定


查看完整回答
反对 回复 2022-09-14
  • 3 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号