首页 > 代码库 > Android文件存储详细完整示例

Android文件存储详细完整示例

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;
	@Override
	protected 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{
		@Override
		public 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=http://www.mamicode.com/"Hello,All";>
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>


Android文件存储详细完整示例