简单的Android对文件进行读写操作

  环境:1.系统:window7

      2.Android版本:2.2

      3.eclipse3.5.2(伽利略)

一、基本的流程图(写入文件)

  

二、模拟器运行界面

  1.主界面              

  

  2.保存(不符合条件)

  

  3.正常保存

  

  4.读取文件

  

  5.关于编者

  

三、代码如下:

  1.保存文件的主要代码

保存的主代码
                       1         bSave.setOnClickListener(        new         View.OnClickListener() {
2
3 @Override
4 public void onClick(View v) {
5 // TODO Auto-generated method stub
6 resId = R.string.success;
7 file_name = filename.getText().toString();
8 file_content = filecontent.getText().toString();
9 /* openFileOutput API
10 * FileOutputStream openFileOutput (String name, int mode)
11 * Open a private file associated with this Context's application package for writing. Creates the file if it doesn't already exist.
12 */
13 /* Context四种模式的API
14 * Context.MODE_APPEND -->if the file already exists then write data to the end of the existing file instead of erasing it.
15 * Context.MODE_PRIVATE -->the default mode, where the created file can only be accessed by the calling application (or all applications sharing the same user ID).
16 * Context.MODE_WORLD_READABLE -->allow all other applications to have read access to the created file.
17 * Context.MODE_WORLD_WRITEABLE -->allow all other applications to have write access to the created file.
18 */
19 flag = InsertInfo();
20 if (flag){
21 try {
22 OutputStream outStream = FileStoreActivity. this .openFileOutput(file_name, MODE_PRIVATE);
23 FileService.save(outStream, file_content);
24
25 } catch (Exception e){
26 Log.e(TAG, e.toString());
27 resId = R.string.error;
28 }
29 Toast.makeText(FileStoreActivity. this , resId, Toast.LENGTH_LONG).show();
30 }
31 }
32
33
34 });

  2.读取文件的主要代码

读取主代码
                       1         Button bRead        =        (Button)findViewById(R.id.read);
2 bRead.setOnClickListener( new View.OnClickListener() {
3
4 @Override
5 public void onClick(View v) {
6 // TODO Auto-generated method stub
7 // 此时隐藏了文件内容框和文件内容的label
8 filecontent.setVisibility(View.GONE);
9 TextView content = (TextView)findViewById(R.id.content);
10 content.setVisibility(View.GONE);
11 InputStream inStream;
12 file_name = filename.getText().toString();
13
14 /* API
15 * FileInputStream openFileInput (String name)
16 * Open a private file associated with this Context's application package for reading.
17 */
18 try {
19 inStream = FileStoreActivity. this .openFileInput(file_name);
20 String context = FileService.read(inStream).toString();
21 Toast.makeText(FileStoreActivity. this , context, Toast.LENGTH_LONG).show();
22 } catch (Exception e) {
23 Log.e(TAG,e.toString());
24 resId = R.string.error;
25 }
26 }
27 });

  3.关于编者的代码

关于编码代码
                      Button bAbout        =        (Button)findViewById(R.id.about);
bAbout.setOnClickListener(
new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
new AlertDialog.Builder(FileStoreActivity. this ).setTitle( " 编者信息 " )
.setMessage(
" 编者: naive_monk " + " \n "
+ " 爱好:篮球、音乐、交友 " + " \n "
+ " Q Q:1271522052 " + " \n "
+ " 邮箱:summerdir@gmail.com " + " \n "
+ " 所在城市:广东惠州 " + " \n " )
.setCancelable(
false ).setPositiveButton( " 确定 " ,
new DialogInterface.OnClickListener() {

@Override
public void onClick(
DialogInterface dialog,
int id) {
// TODO Auto-generated method stub
dialog.dismiss();
}
}).setNegativeButton(
" 退出 " ,
new DialogInterface.OnClickListener() {

@Override
public void onClick(
DialogInterface dialog,
int id) {
// TODO Auto-generated method stub
dialog.dismiss();
}
}).show();

}
});

  4.业务代码

代码
                      /*        
* 保存文件
*/
public static void save(OutputStream outStream, String content) throws Exception {
// 写入数据
outStream.write(content.getBytes());
outStream.close();
}

/*
* 读取文件
*/
public static String read(InputStream inStream) throws Exception {
// 字节流
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte [] buffer = new byte [ 1024 ];
int len = - 1 ;
// 获取字节数据
while ((len = inStream.read(buffer)) != - 1 ) {
outStream.write(buffer,
0 , len);
}
// 得到字节数据
byte [] data = outStream.toByteArray();

outStream.close();
inStream.close();

return new String(data);
}

四、小结

  

这个例子只是简单的操作文件的读写,很多地方都不够完善,希望有兴趣的网友们可以互相交流下~~~



更多相关文章

  1. 内核直接NFS挂载Android文件系统启动
  2. Android使用AnalogClock和DigitalClock
  3. (原创)Android入门教程(三十六)------实现手机联系人的全选
  4. PreferenceActivity用法简介
  5. Android图片浏览器之缩略图
  6. Android扩展:一个自动findViewById的小工具
  7. Android(安卓)aidl Binder框架浅析
  8. Android中gradle的配置
  9. Android(安卓)Studio 第五十五期 - Studio3.0升级到gradle3.0.0

随机推荐

  1. Android ContextMenu和Listview配合使用
  2. android 设置默认launcher 附上代码
  3. HOW TO REBUILT THE ANDROID EMULATOR-SP
  4. Android的日积月累-问题解决
  5. Android TextView文字旋转45°
  6. Android广播接收器Broadcast Receiver-an
  7. Android(安卓)— 自定义圆形 ImageView
  8. AndroidStudio 支持Lambda表达式
  9. Android Phone模块 三
  10. android 关闭和打开Speaker