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(); } }}