【十七】Android 数据存储-文件存储
来源:互联网 发布:视频播放器 知乎 编辑:程序博客网 时间:2024/04/30 00:21
文件存储数据
文件存储的4种模式
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中,可以使用Context.MODE_APPEND
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;
MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入
- 下面不多说什么了,直接代码上吧。
FlieBase.java
import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class FlieBase extends Activity implements OnClickListener { //定义类的成员变量 private EditText ed_write = null; private EditText ed_read = null; Button bt_read,bt_write; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //加载布局文件 setContentView(R.layout.activity_main); //写入内容----------------------- ed_write=(EditText) findViewById(R.id.ed_write); bt_write=(Button) findViewById(R.id.bt_write); bt_write.setOnClickListener(this); //读取内容----------------------- ed_read=(EditText) findViewById(R.id.ed_read); bt_read=(Button) findViewById(R.id.bt_read); bt_read.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.bt_write: try { if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ File sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard目录 File saveFile = new File(sdCardDir,"a.text"); FileOutputStream outStream = new FileOutputStream(saveFile); outStream.write(ed_write.getText().toString().getBytes()); outStream.close(); Toast.makeText(FlieBase.this,"保存成功",Toast.LENGTH_LONG).show(); } }catch (FileNotFoundException e) { return; } catch (IOException e){ return ; } break; case R.id.bt_read: File sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard目录 File saveFile = new File(sdCardDir,"a.text"); try { FileInputStream inStream=new FileInputStream(saveFile); ByteArrayOutputStream stream=new ByteArrayOutputStream(); byte[] buffer=new byte[1024]; int length=-1; while((length=inStream.read(buffer))!=-1) { stream.write(buffer,0,length); } stream.close(); inStream.close(); ed_read.setText(stream.toString()); Toast.makeText(FlieBase.this,"读取成功",Toast.LENGTH_LONG).show(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e){ return ; } break; default: break; } } }
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <EditText android:id="@+id/ed_write" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="textMultiLine" /> <Button android:id="@+id/bt_write" style="@style/AppTheme" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="内容写入" android:textColor="#E30620" /> <EditText android:id="@+id/ed_read" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="textMultiLine" /> <Button android:id="@+id/bt_read" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="内容读取" android:textColor="#2806E5" /> </LinearLayout>
- 清单文件中加上这两条权限就OK了。
<!-- 在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往SDCard写入数据权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
下面再贴上图就完全OK了。
0 0
- 【十七】Android 数据存储-文件存储
- Android 数据存储--文件存储
- android 数据存储-文件存储
- Android数据存储之文件存储数据
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之“文件存储“
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- android数据存储与访问---文件存储
- 如何将自己的作品放在网上
- acm 一种排序
- 视音频数据处理入门:H.264视频码流解析
- java.lang.OutOfMemoryError:GC overhead limit exceeded分析
- linux读书摘要--文件与文件系统的压缩、打包与备份
- 【十七】Android 数据存储-文件存储
- 关于 过时的 蛋疼的 MFC + DataGrid 显示设置
- 理解Fragment生命周期
- 经济周期a
- 算法库:基础线性代数子程序库(Basic Linear Algebra Subprograms,BLAS)介绍
- 个人记录-LeetCode 50. Pow(x, n)
- 期末学习总结
- css 中的几种长度单位:px em rem
- POJ 3662 Telephone Lines 已翻译