Android_010_打开并显示文本文件的内容
1. 先将需要打开的文本文件放在当前程序根目录下面的assets文件下面, 我这里是在assets文件夹里新创建了一个文本文件, 命名为test.txt, 在里面随便输入点内容, 如果图所示:
2. 在布局文件main.xml中输入创建一个Button 和一个 TextView, 代码如下:
<?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/btnOpen"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/btnOpenFile"
/>
<TextView
android:id="@+id/tvText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
3. 在java文件中, 输入下面的代码, 就可以实现打开文件内容并利用 TextView将其显示出来的目地.
package com.shy;
import java.io.IOException;
import java.io.InputStream;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class OpenFileActivity extends Activity {
private Button btnOpen;
private TextView tvText;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//利用控件id来获得控件的对象
btnOpen = (Button)findViewById(R.id.btnOpen);
tvText = (TextView)findViewById(R.id.tvText);
//对btnOpen按钮添加监听器
btnOpen.setOnClickListener(new btnOpenListener());
}
class btnOpenListener implements OnClickListener
{
public void onClick(View arg0)
{
// TODO Auto-generated method stub
try
{
//将assets中的一个文件打开,并将内容赋值给一个 输入流
InputStream is = getAssets().open("test.txt");
//计算出这个输入流中字节的个数
int size = is.available();
//构造一个字节数组, 数组的大小等于从上面获得的字节的个数
byte[] buffer = new byte[size];
//将字节流存入到buffer变量中
is.read(buffer);
//关闭输入流
is.close();
//用utf8的字符编码格式将字节数组赋值给变量 text
String text = new String(buffer, "utf8");
//利用TextView将文件内容显示出来
tvText.setText(text);
}
catch(IOException e)
{
new RuntimeException(e);
}
}
}
}
4. 启动运行程序, 显示的界面如下:
, 点击OpenFile 按钮, 就会显示出 test.txt文件中的内容, 如下图: