Android 在指定目录创建并写入文件

一万年来谁著史,三千里外欲封侯。这篇文章主要讲述Android 在指定目录创建并写入文件相关的知识,希望能为你提供帮助。
目标:
【Android 在指定目录创建并写入文件】在file目录中创建文件,写入文本信息。用于和App之间进行数据共享。
经过关键字的搜索,发现都是推荐的以下方法:

FileOutputStream outputStream = openFileOutput(fileName, mode);

其中:
name:
用于指定文件名称,不能包含路径分隔符“/”,如果文件不存在,android会自动创建它。比如 info.txt
创建的文件保存在/data/data/< package name> /files/目录中。

mode取值:
MODE_APPEND      私有(只有创建此文件的程序能够使用,其他应用程序不能访问),在原有内容基础上增加数据                         
MODE_PRIVATE    私有,每次打开文件都会覆盖原来的内容               
MODE_WORLD_READABLE 可以被其他应用程序读取(这个现在已经不用了,用了会报错)
MODE_WORLD_WRITEABLE 可以被其他应用程序写入
 
然而,/data/data/ 目录通过手机自带的文件管理系统,以及电脑文件管理系统都看不到。
需要在Android Studio中用Device Monitor打开,具体路径
Tools - Android - Android Device Monitor - File Explorer

 
下面介绍我使用的解决方案:
Log.e(TAG, copyContent.toString()); try { File fs = new File(Environment.getExternalStorageDirectory()+"/msc/" + fileName); FileOutputStream outputStream =new FileOutputStream(fs); outputStream.write(copyContent.getBytes()); outputStream.flush(); outputStream.close(); Toast.makeText(getBaseContext(), "File created successfully", Toast.LENGTH_LONG).show(); Log.e(TAG, "Successful"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }

 
即不使用openFileOutput方法,使用FileOutputStream方法,该方法的传递参数是 可设置路径的File对象。
先在指定目录创建File文件,再用FileOutputStream类为该文件创建outputStream,之后就可以正常的写数据了。
 







    推荐阅读