读写SD
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的更多相关文章
- Android 读写SD卡的文件
今天介绍一下Android 读写SD卡的文件,要读写SD卡上的文件,首先需要判断是否存在SD卡,方法: Environment.getExternalStorageState().equals(Env ...
- android学习笔记47——读写SD卡上的文件
读写SD卡上的文件 通过Context的openFileInput.openFileOutput来打开文件输入流.输出流时,程序打开的都是应用程序的数据文件夹里的文件,其存储的文件大小可能都比较有限- ...
- android 读写sd卡的权限设置
原文:android 读写sd卡的权限设置 在Android中,要模拟SD卡,要首先使用adb的mksdcard命令来建立SD卡的镜像,如何建立,大家上网查一下吧,应该很容易找到,这里不说这个问题. ...
- Android测试读写sd卡文件与写sd卡文件耗时
测试从sd卡读1k大小的文件,再写1k大小的文件,由于处理耗时很短,所以循环500次,查看耗时:测试写1k大小的文件,直接在内存构造一个1k的buffer,将这个buffer直接写到文件,同样循环50 ...
- Android读写SD卡
SD卡的读写是我们在开发Android 应用程序过程中最常见的操作.下面介绍SD卡的读写操作方式: 1. 获取SD卡的根目录 String sdCardRoot = Environment.getEx ...
- android 读写SD卡文件
参考: http://www.oschina.net/code/snippet_176897_7336#11699 写文件: private void SavedToText(Context cont ...
- C#使用CH341 SPI模块读写SD卡
SD卡相关CMD命令 ;//卡复位 ; ;//命令9 ,读CSD数据 ;//命令10,读CID数据 ;//命令12,停止数据传输 ;//命令16,设置SectorSize 应返回0x00 ;//命令1 ...
- android读写SD卡封装的类
参考了网上的一些资源代码,FileUtils.java: package com.example.test; import java.io.BufferedInputStream; import ja ...
- 今天发现郭的华为手机无法读写sd卡,找到了这个方法
https://bbs.csdn.net/topics/391985867?page=1 华为P9是android 6.0 的==在API23+以上也就是安卓6.0以上的,进行了权限管理不止要在And ...
随机推荐
- 1-12 ARP协议
ARP(Address Resolution Protocol)地址解析协议,负责将相应的IP地址解析成MAC地址. 在局域网中,网络中实际传输的是‘帧’,帧里面包含了目的主机的MAC.ARP就是用来 ...
- linux 学习 12 服务管理
第十二讲 Linux服务管理 12.1 Linux服务管理-服务分类 ——Linux服务 ----RPM包默认安装的服务 ————独立的服务 ————基于xinetd服务 ----源码包安装的服务 ...
- 13 Balls Problem
今天讨论的是称球问题. No.3 13 balls problem You are given 13 balls. The odd ball may be either heavier or ligh ...
- vc++ 程序开机自启动和取消启动
//开机启动 int CMainWnd::CreateRun() { //添加以下代码 HKEY hKey; }; //得到程序自身的全路径 DWORD dwRet = GetModuleFileNa ...
- Servlet学习一
Servlet担当着客户请求(Web浏览器或其它HTTP客户程序)与服务器响应(HTTP服务器上数据库或应用程序)的中间层.Servlet是位于Web服务器内部的服务器端Java应用程序,与传统的从命 ...
- 关于git中git pull --rebase中的一些坑
在公司里面,每次我更改完代码,准备pull最新代码时,总是会遇到各种各样的问题.,因为对应的问题不同,解决方法很多.但是比较通用的办法还是有的: git pull --rebase //报错时 g ...
- ICMP Protocol
[ICMP Protocol] 参考: 1.ICMP Types and Codes:http://www.nthelp.com/icmp.html 2.RFC 792 - Internet Cont ...
- 西门子Prodave5.5使用说明及VC示例
西门子PLC的通信协议主要是PPI.MPI.Profibus.CP243/CP343/CP443 网络协议,prodave是早期完成的程序接口,除了网络协议外其它的主要协议都支持,SoftNet是西门 ...
- 'Missing recommended icon file - The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format'
创建120像素的高分辨率和60个像素定期如上,苹果文档中提到,并设置名称的新图标.例如,icon-120.png和icon-152.png. 将这个图标到你的项目资源文件夹并添加该图标到项目: 在此之 ...
- ISE应用入门的一些问题
1.怎样添加IP 2.怎样用modelsim调用IP生成的仿真文件. 今天用modelsim仿真ISE生成的DDR IP IP核的地址:E:\FPGA\MIS607\Mis607B\update\CH ...