为什么Android应该使用openFileOutput()
方法而不是FileOutputStream()
构造函数?
作为openFileOutput()的第二个参数的模式类型是唯一的"尊重"所有案件的原因?
FileOutputStream fos;
fos = openFileOutput("test.txt", Context.MODE_PRIVATE);
fos = new FileOutputStream("test.txt");
答案 0 :(得分:2)
openFileOutput
专门用于将文件写入内部存储,并禁止写入外部存储。
但是,FileOutputStream
允许您同时写入内部和外部存储。根据我的经验,您可以使用内部存储中的FileOutputStream轻松创建目录。您还可以使用FileOutputStream作为其constructor之一的第二个参数来设置模式。
有关如何使用附加模式下的FileOutputStream写入内部存储的示例:
File filedir = new File(MyApplication.getAppContext().getDir("DirectoryNameYouWant"));
File filename = new File("FilenameYouWant");
FileOutPutStream fOut=new FileOutputStream(new File(filedir,filename),true);
答案 1 :(得分:0)
模式类型作为openFileOutput()的第二个参数是否是所有案例的唯一“尊重”原因?
另一个区别是openFileOutputStream
在设备的“内部”存储中打开/创建文件。相比之下,FileOutputStream
允许使用内部和外部存储。
第三个区别是openFileOutputStream
在当前应用程序的上下文中写入文件,而FileOutputStream
可以在任何上下文中写入...模块化可能的权限问题。
(两个版本都可以在附加模式下打开文件。这不是差异点。)
参考: