Android数据存储:(外存储)基础
2016-08-16 21:54
218 查看
1.保存文件到SD卡
2、从SD卡读取文件
3、删除SD卡文件
程序代码:
2、从SD卡读取文件
3、删除SD卡文件
程序代码:
package com.example.administrator.jreduch08; import android.os.Bundle; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; public class SaveToSdCardActivity extends AppCompatActivity { private Button save, read, delete; private EditText content; private TextView show; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_inner_io); save = (Button) findViewById(R.id.save); read = (Button) findViewById(R.id.read); delete = (Button) findViewById(R.id.delete); content = (EditText) findViewById(R.id.content); show = (TextView) findViewById(R.id.show); save.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { saveFile(); } }); read.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { show.setText(readFile()); } }); delete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { removeFile(); } }); } //保存文件到SD卡 public void saveFile() { FileOutputStream fos = null; //获取SD卡状态 String state = Environment.getExternalStorageState(); //判断SD卡是否就绪 if (!state.equals(Environment.MEDIA_MOUNTED)) { Toast.makeText(getBaseContext(), "请检查SD卡", Toast.LENGTH_SHORT).show(); return; } //取得SD卡根目录 File file = Environment.getExternalStorageDirectory(); try { Log.d("====SD卡根目录:", "" + file.getCanonicalPath().toString()); //输出流的构造参数1:可以是File对象,也可以是文件路径 //输出流的构造参数2:默认为false=》覆盖内容,true=》追加内容 // File myFile=new File(file.getCanonicalPath()+"/sd.txt");//获得规范路径 fos = new FileOutputStream(file.getCanonicalPath() + "/sd.txt", true); String str = content.getText().toString(); fos.write(str.getBytes()); Toast.makeText(getBaseContext(), "保存成功", Toast.LENGTH_SHORT).show(); } catch (IOException e) { e.printStackTrace(); } finally { if (fos != null) { try { fos.flush(); fos.close(); } catch (IOException e) { e.printStackTrace(); } } } } //从SD卡读取文件 public String readFile() { BufferedReader reader = null; FileInputStream fis = null; StringBuilder sbd = new StringBuilder();//单线程,不安全,效率高 String statu = Environment.getExternalStorageState(); if (!statu.equals(Environment.MEDIA_MOUNTED)) { Toast.makeText(getBaseContext(), "SD卡未就绪", Toast.LENGTH_SHORT).show(); return ""; } File root = Environment.getExternalStorageDirectory(); try { fis = new FileInputStream(root + "/sd.txt"); reader = new BufferedReader(new InputStreamReader(fis)); String row = ""; while ((row = reader.readLine()) != null) { sbd.append(row); } } catch (FileNotFoundException e) { // e.printStackTrace(); Toast.makeText(getBaseContext(), "文件不存在", Toast.LENGTH_SHORT).show(); } catch (IOException e) { e.printStackTrace(); } finally { if (fis != null) { try { reader.close(); b6fc } catch (IOException e) { e.printStackTrace(); } } } return sbd.toString(); } //删除SD卡文件 public void removeFile() { //获取SD卡状态 String state = Environment.getExternalStorageState(); //判断SD卡是否就绪 if (!state.equals(Environment.MEDIA_MOUNTED)) { Toast.makeText(getBaseContext(), "SD卡未就绪", Toast.LENGTH_SHORT).show(); return; } File root = Environment.getExternalStorageDirectory(); File myFile=new File(root,"sd.txt"); if(myFile.exists()){//文件和目录是否存在 myFile.delete(); Toast.makeText(getBaseContext(),"文件已删除",Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(getBaseContext(),"文件不存在",Toast.LENGTH_SHORT).show(); } } }
相关文章推荐
- Android基础——数据存储
- Android基础教程——数据存储之操作数据库SQLlite(一)
- Android应用开发基础之二:数据存储和界面展现(二)
- Android核心基础-5.Android 数据存储与访问-3.使用Sqlite进行数据存储
- Android基础笔记(二)-数据存储和界面展现
- Android游戏开发基础part9--游戏数据存储
- android基础入门数据存储之File(13)
- Android应用开发基础之三:数据存储和界面展现(三)
- 【Android核心基础02】 - 界面布局、测试、数据存储访问、权限控制、XML
- Android核心基础-5.Android 数据存储与访问-2.使用SharedPreferences进行数据存储
- Android实现数据存储技术 (5中存储方式) 基础中的基础!!!!
- Android入门学习笔记(一)|基础知识|文件数据存储读取|解析XML
- (android 基础知识之数据存储) ContentResolver
- Android应用开发基础之数据存储和界面展现(一)
- android基础--使用嵌入式关系型SQLite数据库存储数据
- Android基础(二) 文件的读写及数据存储
- Android----基础----第二天----数据存储访问、XML序列化解析
- 安卓基础学习_ Android数据存储与IO
- Android基础笔记(三)-数据存储和界面展现
- Android应用开发基础之数据存储和界面展现(二)