我想了解File
类在Android中的工作原理。例如,使用指令:
File file = new File(MyActivity.this.getFilesDir().toString()+File.separator+"myfile.jpg");
是在instanciation期间创建的文件(大小为0 kb)还是在写入文件时?
答案 0 :(得分:3)
File
对象实际上是文件的路径,而不是实际文件(尽管名称)。把它们想象成美化String
s。
您可以创建指向不存在的文件的File
个对象,不存在的目录中的文件,具有无效路径的文件或您无权访问的文件,而不会出现问题。在任何一种情况下,当你真正尝试打开文件时,你会得到一个例外(除非它根本不存在而你正在写它;这会创建文件)。
答案 1 :(得分:3)
实例化文件时,磁盘上没有任何反应 - 您只是创建一个引用可能存在的实际磁盘文件的文件对象。
如果在实例化File对象时磁盘文件不存在,则在使用createNewFile()创建它之前它将不存在。