Android SD卡读取简单操作
2016-06-27 20:30
435 查看
package com.example.sdcardtest; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.io.RandomAccessFile; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { final String FILE_NAME = "/baidu/hello.txt"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button read = (Button) findViewById(R.id.read); Button write = (Button) findViewById(R.id.write); final EditText edit1 = (EditText) findViewById(R.id.editText1); final EditText edit2 = (EditText) findViewById(R.id.editText2); //为write事件绑定监听器 write.setOnClickListener(new OnClickListener() { public void onClick(View v) { write(edit1.getText().toString()); edit1.setText(""); } }); //为read事件绑定监听器 read.setOnClickListener(new OnClickListener() { public void onClick(View v) { edit2.setText(read()); } }); } public String read(){ if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ File sdCardDir = Environment.getExternalStorageDirectory(); try { FileInputStream fis = new FileInputStream(sdCardDir.getCanonicalPath() + FILE_NAME); BufferedReader br = new BufferedReader(new InputStreamReader(fis)); StringBuilder sb = new StringBuilder(""); String line = null; while( (line = br.readLine()) != null ){ sb.append(line); } br.close(); return sb.toString(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } return null; } public void write(String content){ if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ RandomAccessFile raf = null; try { //获取sd卡的目录 File sdCardDir = Environment.getExternalStorageDirectory(); File targetFile = new File(sdCardDir.getCanonicalFile() + FILE_NAME); raf = new RandomAccessFile(targetFile, "rw"); raf.seek(targetFile.length()); raf.write(content.getBytes()); } catch (IOException e) { e.printStackTrace(); } try { raf.close(); } catch (IOException e) { e.printStackTrace(); } } } } ===================== 布局文件 简单的两个按钮,没什么好说的
相关文章推荐
- android之结束所有activity-重点是第二种使用广播结束所有activity
- android之结束所有的activity-Intent.FLAG_ACTIVITY_CLEAR_TOP详细-结束所有activity方法
- android 自定义View 仪表盘 DashboardView 的实现
- Android文件读取简单操作
- 浅谈Android中的线程
- Android Service与Activity之间通信的几种方式
- 文件读取
- Activity的启动方式
- Android消息机制入门
- Android之结束所有activity-使用Intent.FLAG_ACTIVITY_CLEAR_TOP
- 我学习过的Android GitHub开源项目
- Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
- android代码的形式让button变成圆角 透明,如图
- Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
- Android自动升级与监听卸载笔记
- android提供的向上导航栏
- Android 切换横竖屏问题
- Android 自定义控件(一)
- 关于 android 中 postDelayed方法的讲解
- android左右晃动动画(红包左右晃动)