当前位置:操作系统 > 安卓/Android >>

Android中的文件I/O操作

本节分两部分:
1.访问SD卡.
2.访问手机中的存储文件夹.
 
 
一.访问SD卡:
1.界面编辑(res\layout\main.xml):
[java]  
<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="vertical"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    >  
  
   <Button  
       android:id="@+id/Button01"  
       android:layout_width="128dp"  
       android:layout_height="wrap_content"  
       android:text="打开" >  
  
   </Button>                  <!-- 添加一个Button -->  
  
   <Button  
       android:id="@+id/button1"  
       android:layout_width="125dp"  
       android:layout_height="wrap_content"  
       android:text="测试按钮" />  
  
   <ScrollView   
     android:id="@+id/ScrollView01"   
     android:layout_width="fill_parent"   
     android:layout_height="wrap_content">  
     <EditText   
         android:editable="false"  
         android:id="@+id/EditText01"   
         android:layout_width="fill_parent"   
         android:layout_height="wrap_content">  
     </EditText>                  <!-- 添加一个EditText -->  
   </ScrollView>                  <!-- 添加一个ScrollView -->  
</LinearLayout>  
 
2. 代码编辑(\src\wyf\zcl\MyActivity.java):
[java]  
package wyf.zcl;  
import java.io.File;                //引入相关包  
import java.io.FileInputStream;     //引入相关包  
import android.app.Activity;        //引入相关包  
import android.os.Bundle;           //引入相关包  
import android.view.View;           //引入相关包  
import android.widget.Button;       //引入相关包  
import android.widget.EditText;     //引入相关包  
import android.widget.Toast;        //引入相关包  
public class MyActivity extends Activity {  
    /** Called when the activity is first created. */  
    Button but;             //打开按钮引用  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        but=(Button)findViewById(R.id.Button01);  
                                        //打开按钮初始化  
        but.setOnClickListener(new View.OnClickListener() {  
                                        //为打开按钮添加监听器  
            @Override  
            public void onClick(View v) {  
                String contentResult=loadContentFromSDCard("歌词.txt");  
                                        //调用读取文件方法,获得文件内容  
                EditText etContent=(EditText)findViewById(R.id.EditText01);   
                                        //实例化EditText  
                etContent.setText(contentResult);  
                                        //设置EditText的内容  
            }  
        });  
    }  
    public String loadContentFromSDCard(String fileName){  
        //从SD卡读取内容  
        String content=null;        //sd卡 的内容字符串  
        try{  
            File f=new File("/sdcard/ebook/"+fileName);//待读取的文件  
            int length=(int)f.length();  
            byte[] buff=new byte[length];  
            FileInputStream fis=new FileInputStream(f);  
            fis.read(buff); // 从此输入流中将 byte.length 个字节的数据读入一个 byte 数组中  
            fis.close();    //关闭此输入流并释放与此流关联的所有系统资源  
            content=new String(buff,"UTF-8");  
        }catch(Exception e){  
            Toast.makeText(this, "对不起,没有找到文件",   
                    Toast.LENGTH_SHORT).show();  
        }  
        return content;  
    }  
}  
运行效果如下:
 
 
 
 
 
 
二.访问手机中的存储文件夹:
访问手机中的文件夹和访问SD卡一样,只需要指明具体位置即可,只是权限这一块需要提升。
 
补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,