(1) 保存到程序目录下(不用权限)
/data/data/包名…………/**.txt :一般在这存储数据,新建.txt记录数据
FileOutputStream fos=new FileOutputStream();
//23900902##3908289
String data=number+”##”password;------------加入##方便取
fos.write(data.getBytes());
关流
读数据:
FileInputStream fis =new FileInputStream(Path);
//字节流转换成字符流
BufferedReader reader=new BufferedReader(newInputStreamReader(file));
reader.readLine();
截取##字符串
Map(String,String)----------------
(2)注意:一般不把路径写死
A.this.getFileDir():----------------------------获取this.getFilesDir(); // /data/data/包名/files
this.getCacheDir()--------------------//data/data/包名/cache---------------临时文件(手机卫士会清除);
getFileDir(),getCacheDir()方法在Activity下,需要通过Context,Activity就是Context
B.FilefilesDir=context.getFilesDir();
Filef=new File(filesDir,”itdf.txt”);----------------新建一个txt文件,f为完整路径
(3)保存到SD卡上(要权限)
//判断当前是否有SD卡
String state=Enviroment.getExternalStorageState();------------返回各种状态
If(!Environment.MEDIA_MOUNTED.equals(state))……….. 挂载了SD卡
FilesdCardFile=Environment.getExternalStorageDirectory();
File file=new File(sdCardFile,”djf.txt”);-------------新建txt文件
同上
(4)获取SD卡剩余的空间
--------------见:--获得内存状态(大小)-------------------------------
(5)写文件(有权限的文件)
openFileOutput("aa.txt", 0);---------------------------/data/data/包名/files/aa.txt
-----------------------------------------------
// 私有文件
writeToLocal("private.txt",Context.MODE_PRIVATE);
//可读文件
writeToLocal("readable.txt",Context.MODE_WORLD_READABLE);
//可写文件
writeToLocal("writeable.txt",Context.MODE_WORLD_WRITEABLE);
//可读可写文件
writeToLocal("readable_writeable.txt",Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
}
privatevoid writeToLocal(String fileName, int mode) {
try{
FileOutputStreamfos = openFileOutput(fileName, mode);
fos.write(("第一个程序写的数据: " + fileName).getBytes());
fos.flush();
fos.close();
}catch (Exception e) {
e.printStackTrace();
}
}
6.读另外一个工程的文件(有权限的文件)见上
用命令行改变权限---------------------day02----9