繁体   English   中英

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

[英]openFileOutput() method vs FileOutputStream() constructor

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

模式类型作为openFileOutput()的第二个参数是否是所有情况的唯一“尊重”原因?

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

openFileOutput专门用于将文件写入内部存储,并禁止写入外部存储。 但是, FileOutputStream允许您同时写入内部和外部存储。 根据我的经验,您可以使用内部存储中的FileOutputStream轻松创建目录。 您还可以使用FileOutputStream作为其构造函数之一中的第二个参数来设置模式。 在附加模式下使用FileOutputStream写入内部存储的示例:

 File filedir = new File(MyApplication.getAppContext().getDir("DirectoryNameYouWant"));
File filename = new File("FilenameYouWant");
FileOutPutStream fOut=new FileOutputStream(new File(filedir,filename),true);

模式类型作为openFileOutput()的第二个参数是否是所有情况的唯一“尊重”原因?

另一个区别是openFileOutputStream在设备的“内部”存储中打开/创建一个文件。 相比之下, FileOutputStream允许使用内部和外部存储。

第三个区别是openFileOutputStream在当前应用程序的上下文中写入文件,而FileOutputStream可以在任何上下文中写入...模块可能的权限问题。

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

参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM