android_internal_storage

来源:互联网 发布:java replace多个字符 编辑:程序博客网 时间:2024/06/03 20:32

MainActivity.java

package com.example.hd.save_internal_storage;import java.io.FileNotFoundException;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends Activity {    private Button mButton;    private EditText mEditText;    private Button mButton2;// 查看数据    private Button mButton3;//保存cache数据    private Button mButton4;//查看文件列表    private TextView mTextView;    private static final String TAG = "MainActivity";    SaveFile_internal_storage saveStorage = new SaveFile_internal_storage(            MainActivity.this);    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mButton = (Button) findViewById(R.id.button1);        mEditText = (EditText) findViewById(R.id.editText1);        mButton2 = (Button) findViewById(R.id.button2);        mButton3 = (Button) findViewById(R.id.button3);        mButton4 = (Button) findViewById(R.id.button4);        mTextView = (TextView) findViewById(R.id.textView1);        mButton.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                // TODO Auto-generated method stub                String temp = null;                boolean flag = false;                temp = mEditText.getText().toString().trim();                flag = saveStorage.saveToFile("login.txt",                        Context.MODE_PRIVATE, temp);                Log.i(TAG, flag + "");            }        });        mButton2.setOnClickListener(new OnClickListener() {            String readStr = null;            @Override            public void onClick(View v) {                // TODO Auto-generated method stub                try {                    readStr = saveStorage.readToFile("login.txt");                    mTextView.setText(readStr);                } catch (FileNotFoundException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }            }        });        mButton3.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                // TODO Auto-generated method stub                saveStorage.savaCacheFile("sksajkljkl","hell_word", "hello".getBytes());            }        });        mButton4.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                // TODO Auto-generated method stub                boolean flag =saveStorage.fileList("txt");//              得到--------->>/data/data/com.example.hd.save_internal_storage/files/txt/hell_word                Log.i(TAG, flag+"");            }        });    }}

layout_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"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.example.hd.save_internal_storage.MainActivity" >    <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerHorizontal="true"        android:layout_centerVertical="true"        android:text="保存数据" />    <EditText        android:id="@+id/editText1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_above="@+id/button1"        android:layout_centerHorizontal="true"        android:layout_marginBottom="74dp"        android:ems="10" >        <requestFocus />    </EditText>    <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@+id/button1"        android:layout_centerHorizontal="true"        android:layout_marginTop="57dp" />    <Button        android:id="@+id/button2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:layout_alignRight="@+id/button1"        android:layout_marginBottom="30dp"        android:text="查看数据" />    <Button        android:id="@+id/button3"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBottom="@+id/textView1"        android:layout_alignRight="@+id/button2"        android:layout_marginBottom="16dp"        android:text="保存cache数据" />    <Button        android:id="@+id/button4"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:layout_centerHorizontal="true"        android:text="查看目录下文件列表" /></RelativeLayout>

SaveFile_internal_storage.java

package com.example.hd.save_internal_storage;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.content.Context;import android.graphics.Path;import android.util.Log;public class SaveFile_internal_storage {    private Context context;    private static final String TAG = "SaveFile_internal_storage";    public SaveFile_internal_storage(Context context) {        // TODO Auto-generated constructor stub        this.context = context;    }    public boolean saveToFile(String fileName,int mode,String content){        boolean flag = true;        try {            FileOutputStream fos = context.openFileOutput(fileName, mode);            fos.write(content.getBytes());            fos.close();            return flag;        } catch (FileNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return false;    }    public String readToFile(String fileName) throws FileNotFoundException{        byte[] data = new byte[1024];        int len = 0;        FileInputStream fileInputStream = context.openFileInput(fileName);        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();        try {            while ((len = fileInputStream.read(data)) != -1) {                outputStream.write(data, 0, len);            }            fileInputStream.close();            return new String(outputStream.toByteArray());        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return "";    }    public boolean savaCacheFile(String fileName_dir,String fileName,byte[] data){        File file = context.getFilesDir();        FileOutputStream fileOutputStream;        File file_dir = new File(file.getAbsolutePath()+"/"+fileName_dir);        if(!(file_dir.exists())){            file_dir.mkdir();        }        try {            fileOutputStream = new FileOutputStream(file_dir+"/"+fileName);            try {                fileOutputStream.write(data,0,data.length);                fileOutputStream.close();                return true;            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        } catch (FileNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return false;    }    public boolean fileList(String fileDirName){        String flag = "";//      得到的是  /data/data/com.example.hd.save_internal_storage/files        File contextFile = context.getFilesDir();        Log.i(TAG, contextFile.getAbsolutePath());        File file = new File(contextFile.getAbsoluteFile()+"/"+fileDirName);        File[] file_list = file.listFiles();        if(file_list != null){        for(File file2:file_list){            Log.i(TAG, "--------->>"+file2.getAbsolutePath());            return true;        }        }        return false;    } }
0 0