新手,JAVA 安卓开发中的FileOutputStream和openFileOutput有什么区别?后者可以跟参数,如下,谢谢

openFileOutput有如下的参数可以选,
Context.MODE_PRIVATE = 0
该模式下创建的文件其他应用无权访问,并且本应用将覆盖原有的内容
Context.MODE_APPEND = 32768
该模式下创建的文件其他应用无权访问,并且本应用将在原有的内容后面追加内容
Context.MODE_WORLD_READABLE = 1
该模式下创建的文件其他应用有读的权限
Context.MODE_WORLD_WRITEABLE = 2
该模式下创建的文件其他应用有写的权限
如果需要将文件设置为外部应用可以读写,可将读写模式设置为Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE
但我看很多程序是用这样
FileOutputStream fileos = new FileOutputStream(filename)
然后就write数据进文件,请问 FileOutputStream.write是自动在文件末尾写数据么?
而openFileOutput是要设置参数才行?谢谢

write方法默认是替换原来文字,
它有另一个写法:FileOutputStream.write(String filename,boolean append)
后面的那个布伦变量,填true就是追加文字,false就是替换文字。而不写就默认替换。
温馨提示:内容为网友见解,仅供参考
无其他回答

Android开发之如何读写文件
一般情况下,各个应用维护的数据都在一个特定的文件夹中,即上面所提到的\/data\/data\/packageName\/file(存在于手机存储中),但手机内存毕竟有限,所以有些情况下,我们需要往SD卡中写入数据文件,这其实和普通的java web 应用步骤一样,都是先创建特针对特定目录特定文件的输出流,然后往输出流中写数据,...

AndroidStudio里面使用openFileOutput新建的文件如何查看
说android也可以通过openFileOutput保存数据,没有具体说明怎么保存。今天稍微讲解一下:OutputStream os=Activity.this.openFileOutput("txtme.txt",MODE_PRIVATE); --->在data\/包名\/files\/目录下会创建txtme.txt文件如果该文件不存在 的话,MODE_PRIVATE的文件是应用程序私有的 ,MODE_WORLD_READABLE则...

android 数据存储的几种方式
回答:总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络。其中文件和数据库可能用的稍多一些,文件用起来较为方便,程序可以自己定义格式;数据库用起稍烦锁一些,但它有它的优点,比如在海量数据时性能优越,有查询功能,可以加密,可以加锁,可以跨应用,跨平台等等;网络,则用于比较重要的...

Android Studio的OutputStream输出流输出的文件在哪里
1、书上没说错,确实在哪个目录下 按照我的步骤做,然后去分析你的问题是什么原因 1、在Applacation下写 try {FileOutputStream outputStream1 = getApplicationContext().openFileOutput("my.txt", Context.MODE_APPEND);BufferedWriter outputStream=new BufferedWriter(new OutputStreamWriter(outputStream...

android-Android的openFileOutput怎么创建不了文件
private Context context;public FileManager(Context context){ this.context=context;} public void saveToPhone(String name, String body) throws Exception{ \/\/ TODO Auto-generated method stub FileOutputStream fos = context.openFileOutput(name, Context.MODE_PRIVATE);fos.write(body.getBytes()...

简述如何使用androidstudio对文件进行保存和获取文件中的数据
1. 保存数据到文件:首先,我们需要创建一个FileOutputStream对象,它将用于写入数据到文件中。然后,我们使用OutputStreamWriter将这个FileOutputStream对象转换为字符流,这样我们就可以方便地写入字符串了。最后,我们使用BufferedWriter来缓冲我们的输出。以下是一个例子:java try { FileOutputStream fos = ...

新建FileOutputStream 抛出IOException异常
FileOutputStream fout = new FileOutputStream(file2);出错,应该是指定的路径找不到 比如你只有 D:\\zip目录 你想解压出的目录是 D:\\zip\\a\\b\\c\\test.txt这样 那中间的a\\b\\c目是不存在的。创建出来就可以了 if(!file2.getParentFile().exists()){ file2.getParentFile().mkdirs();} 这...

FileChannel和mmap性能测试(翻译)
FileChannel的优势与FileInputStream和FileOutputStream类相比,FileChannel具有以下优势:双向读写无需文件指针管理支持异步I\/O支持文件映射到内存使用FileChannel和ByteBuffer读写数据打开一个FileChannel读写数据。调用FileChannel.open创建FileChannel从RandomAccessFile创建FileChannel通过FileInputStream创建示例中,选择...

Android程序中涉及到存储数据和读取数据时总是闪退
文件存储方式是一种较常用的方法,在Android中读取\/写入文件的方法,与 Java中实现I\/O的程序是完全一样的,提供了openFileInput()和openFileOutput()方法来读取设备上的文件。 FilterInputStream, FilterOutputStream等可以到Java io package说明中去详细学习,不再此详细说明,具体实例如下:String fn = ...

java编译可以通过 异常问题!!求解
FileOutputStream out=new FileOutputStream(path2);if (!file2.exists()){ \/\/是判断文件存在的。。。file2.mkdir();} 这矛盾了,,,先创建文件,又想创建目录 。。。而当目录存在时,创建文件就失败了、、、并且后面的写入 out.write(b); ,也会失败了。。。

相似回答