public class SD_Files_RW extends Activity implements OnClickListener{

     private String Text_of_input;

     private Button button_01,button_02;
private EditText ed_text;
private TextView text_view; private File sdCardDir;
private File saveFile;
private FileOutputStream outStream;
private FileInputStream inStream; /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); sdCardDir = Environment.getExternalStorageDirectory();
saveFile = new File(sdCardDir,"wms.txt"); ed_text = (EditText) findViewById(R.id.edit_01);
text_view = (TextView) findViewById(R.id.text_01); button_01 = (Button)findViewById(R.id.button_01);
button_01.setOnClickListener(this); button_02 = (Button)findViewById(R.id.button_02);
button_02.setOnClickListener(this);
} // Button 监听
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.button_01:
{
Toast.makeText(SD_Files_RW.this, "开始写入文件!", Toast.LENGTH_SHORT).show();
Write_Files();
//text_view.setText(ed_text.getText().toString());
}break;
case R.id.button_02:
{
Toast.makeText(SD_Files_RW.this, "开始读出文件!", Toast.LENGTH_SHORT).show();
Read_Files(); }break;
} } private void Write_Files()
{ //得到用户输入字符
Text_of_input = ed_text.getText().toString(); if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ //创建 初始化 流对象
try{ outStream = new FileOutputStream(saveFile);
}
catch (FileNotFoundException e){
Toast.makeText(this, "文件不存在!", Toast.LENGTH_SHORT).show();
return ;
} try { //把内容写入文件
outStream.write(Text_of_input.getBytes()); } catch (FileNotFoundException e) { // TODO Auto-generated catch block
Toast.makeText(this, "文件未发现异常!", Toast.LENGTH_SHORT).show(); } catch (IOException e) { // TODO Auto-generated catch block
Toast.makeText(this, "文件读写异常!", Toast.LENGTH_SHORT).show(); }
catch (NullPointerException e){
Toast.makeText(this, "文件读写空指针异常!", Toast.LENGTH_SHORT).show();
}
finally { try { //关闭文件输出流 outStream.close(); } catch (IOException e) { // TODO Auto-generated catch block
Toast.makeText(this, "文件读写异常!", Toast.LENGTH_SHORT).show(); } Toast.makeText(this, "文件写入成功!", Toast.LENGTH_SHORT).show(); } }else {
Toast.makeText(this, "内存卡不存在!", Toast.LENGTH_SHORT).show();
return ;
} } private void Read_Files()
{ int len; //然后创建一个字节数组输出流
byte[] buffer = new byte[1024]; ByteArrayOutputStream ostream = new ByteArrayOutputStream(); if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ //创建 初始化 流对象
try{ inStream = new FileInputStream(saveFile);
Log.v("Instance inStream", "实例化inStream!");
}
catch (FileNotFoundException e){
Toast.makeText(this, "文件不存在!", Toast.LENGTH_SHORT).show();
return ;
} try{ Log.v("Read", "读数据!"); while((len=inStream.read(buffer))!=-1){
ostream.write(buffer, 0, len); } Log.v("Read", "读成功!"); }catch (IOException e){
Toast.makeText(this, "读 异常!", Toast.LENGTH_SHORT).show();
} try{
//最后关闭输入流和输出流
inStream.close();
ostream.close(); Log.v("Read", "读成功!"); }catch (IOException e){
Toast.makeText(this, "读 异常!", Toast.LENGTH_SHORT).show();
} String str = new String(ostream.toByteArray()); Log.v("Disp", "文本显示!"); text_view.setText(str); }else{
Toast.makeText(this, "内存卡不存在!", Toast.LENGTH_SHORT).show();
return ;
}
} }

读写SD的更多相关文章

  1. Android 读写SD卡的文件

    今天介绍一下Android 读写SD卡的文件,要读写SD卡上的文件,首先需要判断是否存在SD卡,方法: Environment.getExternalStorageState().equals(Env ...

  2. android学习笔记47——读写SD卡上的文件

    读写SD卡上的文件 通过Context的openFileInput.openFileOutput来打开文件输入流.输出流时,程序打开的都是应用程序的数据文件夹里的文件,其存储的文件大小可能都比较有限- ...

  3. android 读写sd卡的权限设置

    原文:android 读写sd卡的权限设置 在Android中,要模拟SD卡,要首先使用adb的mksdcard命令来建立SD卡的镜像,如何建立,大家上网查一下吧,应该很容易找到,这里不说这个问题. ...

  4. Android测试读写sd卡文件与写sd卡文件耗时

    测试从sd卡读1k大小的文件,再写1k大小的文件,由于处理耗时很短,所以循环500次,查看耗时:测试写1k大小的文件,直接在内存构造一个1k的buffer,将这个buffer直接写到文件,同样循环50 ...

  5. Android读写SD卡

    SD卡的读写是我们在开发Android 应用程序过程中最常见的操作.下面介绍SD卡的读写操作方式: 1. 获取SD卡的根目录 String sdCardRoot = Environment.getEx ...

  6. android 读写SD卡文件

    参考: http://www.oschina.net/code/snippet_176897_7336#11699 写文件: private void SavedToText(Context cont ...

  7. C#使用CH341 SPI模块读写SD卡

    SD卡相关CMD命令 ;//卡复位 ; ;//命令9 ,读CSD数据 ;//命令10,读CID数据 ;//命令12,停止数据传输 ;//命令16,设置SectorSize 应返回0x00 ;//命令1 ...

  8. android读写SD卡封装的类

    参考了网上的一些资源代码,FileUtils.java: package com.example.test; import java.io.BufferedInputStream; import ja ...

  9. 今天发现郭的华为手机无法读写sd卡,找到了这个方法

    https://bbs.csdn.net/topics/391985867?page=1 华为P9是android 6.0 的==在API23+以上也就是安卓6.0以上的,进行了权限管理不止要在And ...

随机推荐

  1. javascript 零星知识点

    通过js动态生成的元素绑定事件.不能通过js获取元素对象,并赋予事件,最简捷的途径就是将事件直接添加到属性中(DOM0);

  2. 如何写一个简单的http服务器

    最近几天用C++写了一个简单的HTTP服务器,作为学习网络编程和Linux环境编程的练手项目,这篇文章记录我在写一个HTTP服务器过程中遇到的问题和学习到的知识. 服务器的源代码放在Github. H ...

  3. [转]Redmine 配置163邮箱

    redmine的邮件发送功能还是很有用的.像项目有更新啦,任务分配啦,都能邮件发送的相关责任人.我自己在linux服务器上安装并启动了redmine后,邮件一直发送了不了.查了网上的资料,都是讲修改下 ...

  4. 深入理解js——作用域和上下文环境

    如图除全局作用域外,每个函数都会创建自己的作用域.作用域在函数定义时就确定了,而不是在函数调用时确定. 下面按照程序执行的步骤加上上下文环境. 第一步:程序加载时已经确定全局上下文环境,并随着程序的执 ...

  5. ListView下拉刷新

    本内容为复制代码: 一.自定义ListView控件: package com.xczl.smart.view; import java.util.Date; import com.suliang.R; ...

  6. CU上看到的一个简单的算法帖子

    今天也是明白了,编程与数学的关系.例子很简单,不过能说明问题. 如果我们优化算法只从计算机特性来考虑,那么我们的人脑也成了计算机.不要忘记数学对于算法的重要影响. 题目: 返回小于数字 N 的所有 3 ...

  7. Centos apache + mysql + usvn 配置svn 服务器

    1.遇到问题 提交异常:'svn/!svn/me'path not found http://www.myexception.cn/cvs-svn/1262826.html 更改http.conf 配 ...

  8. MyEclipse/Eclipse新建项目并且部署到服务器(tomcat)下

    1新建项目:file/new/web project/项目名/ok 2部署到tomcat下:tomcat右单机>>add/remove/选择项目/添加/完成(tomcat下有新建的项目) ...

  9. fedora23 tweak tool不工作解决方案

    在启动器中打开 优化工具 失败 在终端中开启显示 Traceback (most recent call last): File "/usr/bin/gnome-tweak-tool&quo ...

  10. GTD

    这两天坚持GTD,四分象限法管理时间,感觉学习专注度明显提升,一直没完成的马士兵JAVA基础整到第八章了,继续保持,1.13号前争取11章全整完. 3个点支撑起你的职业发展:技术,管理(管理自己.管理 ...