Android SD卡读写
2016-09-19 09:34
381 查看
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();
}
}
}
相关文章推荐
- 【转载】编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- 如何分析android的OOM,与java静态代码分析工具
- Android Handler 的使用
- Android layout布局实行及其作用
- 如何分析android的OOM,与java静态代码分析工具
- Android Training - 避免程序无响应ANR
- Android状态栏与标题栏风格一致
- 如何分析android的OOM,与java静态代码分析工具
- Android 消息机制以及handler的内存泄露
- android 学习随笔三(测试与单元测试框架)
- android打开应用软件盘的控制,窗口和软件盘的交互
- android客户端从服务器端获取json数据并解析的实现代码
- android 学习随笔四(数据库存储)
- Android属性动画完全解析(上),初识属性动画的基本用法
- Android IPC进程间通信详解最新AndroidStudio的AIDL操作)
- android群英传笔记——音频条形图(仿音频动画,无监听音频输入)
- Android开发人员不得不收集的代码
- Android Studio使用git的方法
- android mark log
- ubuntu Android Studio tmp 目录满,无法编译