Android文件存储详细完整示例
来源:互联网 发布:mysql 新增数据库 编辑:程序博客网 时间:2024/05/18 00:02
MainActivity如下:
package cc.cv;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;/** * Demo描述: * 文件存储详细示例 * * 可利用Context的openFileOutput()方法将数据存储到文件中. * 默认的存储路径为/data/data/<packageName>/files/ * 可利用Context的openFileInput()方法将数据从文件中读出 * * 在Android中常用的存储方式: * SharedPreferences,数据库,SD卡,文件存储. * 对于最后一种方式平时用的不多,现在此写个例子 * 整理和复习一下. * * 注意事项: * 文件存储是不需要权限的与在SD卡上进行文件存储是不一样的 */public class MainActivity extends Activity { private Button mSaveButton; private Button mGetButton; private Context mContext; private String mFileName;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);init();}private void init(){mContext=this;mFileName="testData";mSaveButton=(Button) findViewById(R.id.saveButton);mSaveButton.setOnClickListener(new ClickListenerImpl());mGetButton=(Button) findViewById(R.id.getButton);mGetButton.setOnClickListener(new ClickListenerImpl());}private class ClickListenerImpl implements OnClickListener{@Overridepublic void onClick(View view) {switch (view.getId()) {case R.id.saveButton:saveDataToFile(mContext,mFileName);break;case R.id.getButton:getDataFromFile(mContext,mFileName);break;default:break;}}}/** * 向File中保存数据 */private void saveDataToFile(Context context,String fileName){String data="Hello,All";FileOutputStream fileOutputStream=null;OutputStreamWriter outputStreamWriter=null;BufferedWriter bufferedWriter=null;try {fileOutputStream=context.openFileOutput(fileName, Context.MODE_PRIVATE);outputStreamWriter=new OutputStreamWriter(fileOutputStream);bufferedWriter=new BufferedWriter(outputStreamWriter);bufferedWriter.write(data);} catch (Exception e) {e.printStackTrace();}finally{try {if (bufferedWriter!=null) {bufferedWriter.close();}} catch (Exception e) {e.printStackTrace();}}}/** * 从File中读取数据 */private void getDataFromFile(Context context,String fileName){FileInputStream fileInputStream=null;InputStreamReader inputStreamReader=null;BufferedReader bufferedReader=null;StringBuilder stringBuilder=null;String line=null;try {stringBuilder=new StringBuilder();fileInputStream=context.openFileInput(fileName);inputStreamReader=new InputStreamReader(fileInputStream);bufferedReader=new BufferedReader(inputStreamReader);while((line=bufferedReader.readLine())!=null){stringBuilder.append(line);}System.out.println("--->"+stringBuilder.toString());} catch (Exception e) {e.printStackTrace();}finally{try {if (bufferedReader!=null) {bufferedReader.close();}} catch (Exception e) {e.printStackTrace();}}}}
main.xml如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/saveButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="向File中保存数据" android:layout_centerHorizontal="true" android:layout_marginTop="100dp" /> <Button android:id="@+id/getButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="从File中获取数据" android:layout_centerHorizontal="true" android:layout_marginTop="260dp" /></RelativeLayout>
0 0
- Android文件存储详细完整示例
- Android定时发送短信完整详细示例
- CountDownTimer完整详细示例
- android内部文件存储示例
- Android利用Volley异步加载数据完整详细示例(二)
- Android利用Volley异步加载数据完整详细示例(一)
- Android清理设备内存详细完整示例(二)
- Android清理设备内存详细完整示例(一)
- Android侧滑菜单完整详细示例(精装版)
- Android侧滑菜单完整详细示例(改进版)
- Android侧滑菜单完整详细示例(基础版)
- Android本地缓存DiskLruCache完整详细学习示例
- JNI入门完整详细示例
- Android情景模式、文件管理器 完整示例编程详解
- Android情景模式、文件管理器 完整示例编程详解
- Android拆分Bitmap完整示例
- mongodb 存储文件示例
- Android情景模式、文件管理器 完整示例编程详解、Android程序优化总结
- mysql密码修改
- poj 2485 Highways
- Search Insert Position
- 图片放大镜效果
- JDK8新特性(部分)
- Android文件存储详细完整示例
- bitset类
- C++ string类的隐式共享写时拷贝的实现及设计要点
- HDU 4998 Rotate
- ext消息框
- 函数模板
- Android学习笔记——安卓环境搭建
- 图片颜色处理RGB-拍照-读取相册-保存修改的图片
- poj 5001 Walk &&2014 ACM/ICPC Asia Regional Anshan Online 1005(dp)