Android SD卡讀寫

package com.jredu.zuiyou.activity;import android.os.Bundle;import android.os.Environment;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.Toast;import com.jredu.zuiyou.R;import com.jredu.zuiyou.entity.Student;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;public class SDActivity extends AppCompatActivity {    ObjectOutputStream oos = null;    ObjectInputStream ois = null;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_sd);        Button write = (Button) findViewById(R.id.write);        write.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                WriteToSD();            }        });        Button read = (Button) findViewById(R.id.read);        read.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                ReadFromSD();            }        });    }    public void WriteToSD(){        String state = Environment.getExternalStorageState();        if (state.equals(Environment.MEDIA_MOUNTED)){            File root = Environment.getExternalStorageDirectory();            File TargetDir = new File(root,super.getPackageName());            if (!TargetDir.exists()){                TargetDir.mkdir();            }            try {                oos = new ObjectOutputStream(new FileOutputStream(new File(TargetDir,"yxl.txt")));                Student student = new Student("小明",18);                oos.writeObject(student);                Toast.makeText(getApplication(),"寫入成功",Toast.LENGTH_SHORT).show();            } catch (IOException e) {                e.printStackTrace();            } finally {                try {                    oos.flush();                    oos.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }else {            Toast.makeText(getApplication(),"沒有找到SD卡",Toast.LENGTH_SHORT).show();        }    }    public void ReadFromSD(){        String state = Environment.getExternalStorageState();        if (state.equals(Environment.MEDIA_MOUNTED)){            File root = Environment.getExternalStorageDirectory();            File TargetDir = new File(root,super.getPackageName());            if (!TargetDir.exists()){                TargetDir.mkdir();            }            try {                ois = new ObjectInputStream(new FileInputStream(new File(TargetDir,"/yxl.txt")));                Student student = (Student) ois.readObject();                Toast.makeText(getApplication(),student.getName().toString()+","+student.getAge(),Toast.LENGTH_SHORT).show();            } catch (IOException e) {                e.printStackTrace();            } catch (ClassNotFoundException e) {                e.printStackTrace();            }finally {                try {                    ois.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }else {            Toast.makeText(getApplication(),"沒有找到SD卡",Toast.LENGTH_SHORT).show();        }    }}
相關文章
相關標籤/搜索