说明,测试机型为小米Note4,miui系统
getFileDir
- 测试代码
File fileDir = getFileDir();
tv1.stText(fileDir.getPath());
- 测试结果
得到getFileDir返回结果
/data/user/0/test.example.testfile/files
OutputStream&openFileOutput
- 将一段String写入到app数据目录下的文件中
OutputStream outStream = openFileOutput("test.dat",MODE_PRIVATE);
String contents = "hello this a segment of test code,welcome";
outStream.write(contents.getBytes());
outStream,flush();
outStream.close();
- 代码分析
OutputStream outStream = openFileOutput("test.dat",MODE_PRIVATE);
建立输出流
输出流,一个到磁盘文件的映射
文件,磁盘上的一段区域
outStream,flush();
客户端主动将输出流写到磁盘上
InputStream&ByteArrayOutputStream
- 从磁盘中读取数据到内存中
InputStream inStream = new InputStream("test.dat");
byte[] buffer = new byte[1024];
int len = -1;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while((len = inStream.readBuffer(buffer)) != -1){
baos.write(buffer,0,len);
}
inStream.close();
baos.close();
we generate baos,a byteArray which contains data from file.
- 代码分析
InputStream inStream = newInputStream("test.dat");
建立文件输入流,数据入端为磁盘文件
len = inStream.readBuffer(buffer)
确认输入流的终端,即一段内存区域,完成数据流的读取与写入