• 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();
    }
    }
    }
  • 相关阅读:
    20169204,EXP 3:Java object
    20169204,EXP 2:Java object
    20169204,exp1:Familiar with the Java development environment(Linux+IDEA)
    20169204 2016-2017-2 <Mobbile Platform Development and Practice> Learning Summary, Seventh Week
    第一次使用MarkDown写博客
    理解IOC
    .net与技术经理面谈时经常被提问到的相关技术点
    缓存二、HttpRuntime.Cache用法
    缓存一、Asp.net页面缓存
    一次提交涉及两个数据库处理
  • 原文地址:https://www.cnblogs.com/ye34166684/p/5883926.html
Copyright © 2020-2023  润新知