在Android中实例化文件时会发生什么?

时间:2015-02-03 23:27:25

标签: java android

我想了解File类在Android中的工作原理。例如,使用指令:

File file = new File(MyActivity.this.getFilesDir().toString()+File.separator+"myfile.jpg");

是在instanciation期间创建的文件(大小为0 kb)还是在写入文件时?

2 个答案:

答案 0 :(得分:3)

File对象实际上是文件的路径,而不是实际文件(尽管名称)。把它们想象成美化String s。

您可以创建指向不存在的文件的File个对象,不存在的目录中的文件,具有无效路径的文件或您无权访问的文件,而不会出现问题。在任何一种情况下,当你真正尝试打开文件时,你会得到一个例外(除非它根本不存在而你正在写它;这会创建文件)。

答案 1 :(得分:3)

实例化文件时,磁盘上没有任何反应 - 您只是创建一个引用可能存在的实际磁盘文件的文件对象。

如果在实例化File对象时磁盘文件不存在,则在使用createNewFile()创建它之前它将不存在。