本节分两部分:
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卡一样,只需要指明具易做图置即可,只是权限这一块需要提升。