2.SD卡读写操作


1读写sd卡首先得添加读写权限

2.建一个布局文件,用来接收和展示数据

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:paddingBottom="@dimen/activity_vertical_margin"tools:context=".MainActivity"><Buttonandroid:id="@+id/buttonWrite"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="写入数据"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"/><EditTextandroid:id="@+id/edit"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@+id/buttonWrite"android:layout_alignParentLeft="true"android:layout_alignParentStart="true"/><Buttonandroid:id="@+id/buttonReade"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="读取数据"android:layout_below="@+id/edit"android:layout_alignLeft="@+id/buttonWrite"android:layout_alignStart="@+id/buttonWrite"android:layout_marginTop="73dp"/><TextViewandroid:id="@+id/textview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="yu"android:textSize="20sp"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:layout_marginBottom="167dp"/></RelativeLayout>

3.

packagexiaocool.net.sdtest;importandroid.os.Bundle;importandroid.os.Environment;importandroid.support.v7.app.ActionBarActivity;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.TextView;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.InputStreamReader;importjava.io.RandomAccessFile;publicclassMainActivityextendsActionBarActivity{privatefinalStringFILE_NAME="/xiaocool.bin";privateButtonwrite,read;privateEditTexteditText;privateTextViewtextView;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);write=(Button)this.findViewById(R.id.buttonWrite);read=(Button)this.findViewById(R.id.buttonReade);editText=(EditText)this.findViewById(R.id.edit);textView=(TextView)this.findViewById(R.id.textview);write.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Write(editText.getText().toString());editText.setText("");}});read.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){textView.setText(Read());}});}//往sd卡写入数据的方法privatevoidWrite(Stringcontent){try{//如果手机插入了sd卡,而且具有访问sd卡的权限if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){//获取sd卡的目录FilesdCradDir=Environment.getExternalStorageDirectory();FiletargetFile=newFile(sdCradDir.getCanonicalPath()+FILE_NAME);//以指定文件创建RandomAccessFileRandomAccessFileraf=newRandomAccessFile(targetFile,"rw");//将文件记录指针移到最后raf.seek(targetFile.length());//输出文件内容raf.write(content.getBytes());//关闭raf.close();}}catch(ExceptionE){E.printStackTrace();}}//从sd卡读取数据privateStringRead(){try{if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){FilesdCardDir=Environment.getExternalStorageDirectory();//获取制定文件对应的输入流FileInputStreamfile=newFileInputStream(sdCardDir.getCanonicalPath()+FILE_NAME);//将制定的输入流包装成BufferReaderBufferedReaderbr=newBufferedReader(newInputStreamReader(file));StringBuildersb=newStringBuilder("");Stringline=null;//循环读取文件内容while((line=br.readLine())!=null){sb.append(line);}//关闭br.close();returnsb.toString();}}catch(ExceptionE){E.printStackTrace();}returnnull;}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.menu_main,menu);returntrue;}@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){//Handleactionbaritemclickshere.Theactionbarwill//automaticallyhandleclicksontheHome/Upbutton,solong//asyouspecifyaparentactivityinAndroidManifest.xml.intid=item.getItemId();//noinspectionSimplifiableIfStatementif(id==R.id.action_settings){returntrue;}returnsuper.onOptionsItemSelected(item);}}


更多相关文章

  1. ubuntu 删除android studio
  2. android获取手机内部存储空间和外部存储空间
  3. Android(安卓)三种获取页面数据方法
  4. Android内存泄露利器(hprof篇)
  5. 将新的驱动源文件添加进android内核进行编译
  6. Android源码阅读-Filter过滤器
  7. android 加载布局xml文件时报空指针
  8. A31S-camera流程
  9. RecyclerView的使用详解

随机推荐

  1. c语言中文本输出的函数名称是什么?
  2. c语言函数声明格式是什么?
  3. c语言绝对值怎么表示
  4. c语言中逻辑运算符优先级是什么?
  5. 对比分析C#与Java的区别
  6. c语言中double是什么意思
  7. c语言fopen函数的用法
  8. 手把手教你C#中指针的使用方法
  9. typedef在c语言中是什么意思
  10. c语言换行符号是什么