Yoa*_*uet 47 android android-file
在我的应用程序中,我添加了为日常添加和保存图片的可能性,以a表示Fragment.
为了将图片保存在SD卡上,我目前使用的功能是File.createTempFile:
File imageFile = File.createTempFile(imageFileName, MyApplication.JPEG_FILE_SUFFIX, MyApplication.getAlbumDir());
Run Code Online (Sandbox Code Playgroud)
我实际上也尝试过标准方式:
File imageFile = new File(MyApplication.getAlbumDir(), imageFileName + MyApplication.JPEG_FILE_SUFFIX);
Run Code Online (Sandbox Code Playgroud)
两者都有效,但在我的情况下,第一个比第二个更好,因为该函数createTempFile在文件名的末尾添加一个长的随机数,使其唯一.
举个例子,这是我用两种方法得到的:
使用createTempFile:IMG_2013-06-18_-1961144729.jpg
使用新文件:IMG_2013-06-18_.jpg
最后我的问题是,保持使用createTempFile以保存我的照片是否安全,或者我是否必须使用标准方式并添加一些代码来生成唯一的文件名?它应该只用于临时文件吗?
我查看了有关该功能的文档,但我没有找到任何关于使用它而不是使用它的可能后果new File.
谢谢
use*_*075 22
听起来您的应用程序正在创建文件,因此您需要保证唯一的文件名.您可以在应用程序中保留某种计数器(保存到首选项或数据库)并使用它.然后你可以创建更短/更受控制的名称,并自己控制唯一性.或者您可以使用createTempFile(),它将保证您获得唯一的文件名(但您只能部分控制文件名).听起来你更喜欢createTempFile(),所以如果你对它生成的文件名感到满意,就没有理由不继续使用它.除了没有完全控制文件名格式之外,没有任何不足之处.
Adr*_*nky 21
对于临时内部文件,它们是2个选项
1.
File file;
file = File.createTempFile(filename, null, this.getCacheDir());
Run Code Online (Sandbox Code Playgroud)
2.
File file
file = new File(this.getCacheDir(), filename);
Run Code Online (Sandbox Code Playgroud)
这两个选项都会在应用程序缓存目录中添加文件,因此可以清除以根据需要创建空间,但选项1将在文件名末尾添加一个随机数以保持文件唯一.它还会添加一个文件扩展名,默认情况下为.tmp,但可以通过使用第二个参数将其设置为任何内容.使用随机数意味着尽管指定了文件名,但它不会与添加的数字以及后缀/文件扩展名(默认为.tmp)保持一致,例如,您将文件名指定为internal_file,并作为internal_file1456345.tmp输出.您可以指定扩展名,但不能指定添加的编号.但是,您可以通过file.getName()找到它生成的文件名; 但你需要将它存储在某个地方,以便你可以随时使用它,例如删除或读取文件.因此,出于这个原因,我更喜欢第二个选项,因为您指定的文件名是创建的文件名.
Beh*_*yar 20
1.使用随机名称创建文件
File file = File.createTempFile(String prefix, String suffix, File parent)
Run Code Online (Sandbox Code Playgroud)
2.使用确切名称创建文件
File file = new File(File parent, String child);
file.createNewFile();
Run Code Online (Sandbox Code Playgroud)
实际上在磁盘上创建文件,如果成功创建文件,则返回true
文件名将完全传递给子参数
3.仅创建文件对象(在内存中)
File file = new File(File parent, String child);
// doesn't create the file on disk until calling createNewFile() method
Run Code Online (Sandbox Code Playgroud)
parent 参数可以是以下之一:
应用私人目录
公共目录
| 归档时间: |
|
| 查看次数: |
35893 次 |
| 最近记录: |