android存储数据
2015-12-23 22:34
423 查看
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.app.Activity; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private EditText et_data; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_data = (EditText)findViewById(R.id.et_data); //Environment.getDataDirectory(); /data //一般下载不要用这个目录----内置存储 //Environment.getDownloadCacheDirectory(); //catch //Environment.getExternalStorageDirectory();//mnt/sdcard //Environment.getRootDirectory(); //System //mnt/sdcard/music-dicm ..... //Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_) } /** * 写sd卡 * @throws IOException */ public void saveData(View v) { String data = et_data.getText().toString(); Log.i("tz","data:"+data); //1,判断当前手机的sd卡是否正常挂载 //Environment.MEDIA_MOUNTED:sd存在 具有可读可写权限 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ //2,sd卡的目录对象 File sd_file = Environment.getExternalStorageDirectory(); //3,获取sd卡的路径(绝对路径 相对路劲) String sd_path = sd_file.getAbsolutePath(); //4,创建文件保存数据 File file = new File(sd_file,"hehe.txt"); Toast.makeText(this, "sd_path:"+sd_path, 0).show(); //5,操作sd卡:需要权限--读/写 FileOutputStream fos = null; try { fos = new FileOutputStream(file); fos.write(data.getBytes()); } catch (Exception e) { e.printStackTrace(); }finally{ if(fos!=null){ try { fos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } } /** * 读sd卡 * */ public void readData(View v){ FileInputStream fis = null; try { //1,判断当前手机的sd卡是否正常挂载 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ //2,sd卡目录 File sd_file = Environment.getExternalStorageDirectory(); //3,创建文件 File file = new File(sd_file,"hehe.txt"); fis = new FileInputStream(file); int len = 0; byte[] buffers = new byte[1024]; //桶---装 ByteArrayOutputStream baos = new ByteArrayOutputStream(); while((len=fis.read(buffers))!=-1){ baos.write(buffers, 0, len); } //把读出来的数据显示到EditText中 et_data.setText(baos.toString()); } } catch (Exception e) { e.printStackTrace(); }finally{ if (fis != null) { try { fis.close(); } catch (Exception e2) { // TODO: handle exception e2.printStackTrace(); } } } } }sd卡的读写权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
相关文章推荐
- Android-Data Backup
- 一个Android登陆/注册XML布局文件代码
- Android开发入门前准备
- Android简单计时器的实现
- Android Bitmap 常见的几个操作:缩放,裁剪,旋转,偏移
- Android TouchEvent分发
- Android Studio你不知道的调试技巧
- Android开发艺术-第七章Android动画深入分析读书笔记
- Android 系统稳定性 - ANR(二)
- Android 系统稳定性 - ANR(一)
- 生产实习(Android)五
- 在Android Studio 中正确使用adil ”绝对经典“
- Android串口编程
- Android 组合控件的点击事件
- Android PowerManager.WakeLock使用小结
- Android Studio 打包及引用 aar
- Android.mk中的经常使用语法
- PhoneGapAndroid开发
- android-Storage Options
- android service 详解