openFileOutput()方法与FileOutputStream()构造函数

时间:2014-08-31 10:27:55

标签: java android

为什么Android应该使用openFileOutput()方法而不是FileOutputStream()构造函数?

作为openFileOutput()的第二个参数的模式类型是唯一的"尊重"所有案件的原因?

FileOutputStream fos;
fos = openFileOutput("test.txt", Context.MODE_PRIVATE);
fos = new FileOutputStream("test.txt");

2 个答案:

答案 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可以在任何上下文中写入...模块化可能的权限问题。

(两个版本都可以在附加模式下打开文件。这不是差异点。)

参考: