一、 从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写)
string res = ;
try{
inputstream in = getresources().openrawresource(r.raw.bbi);
//在\\test\es\aw\\bbi.txt,
int length = in.available();
byte [] buffer = new byte[length];
in.read(buffer);
//res = encodingutils.getstring(buffer, utf-8);
//res = encodingutils.getstring(buffer, unicode);
res = encodingutils.getstring(buffer, big5);
//依bbi.txt的编码类型选择合适的编码,如果不调整会乱码
in.close();
}catch(exception e){
e.printstacktrace();
}
mytextview.settext(res);//把得到的内容显示在textview上
二、 从asset中获取文件并读取数据(资源文件只能读不能写)
string filename = yan.txt; //文件名字
string res=;
try{
inputstream in = getresources().getassets().open(filename);
// \\test\\assets\\yan.txt这里有这样的文件存在
int length = in.available();
byte [] buffer = new byte[length];
in.read(buffer);
res = encodingutils.getstring(buffer, utf-8);
}catch(exception e){
e.printstacktrace();
}
三、 从sdcard中去读文件,首先要把文件通过\\android-sdk-windows\ools\\adb.exe把本地计算机上的文件copy到sdcard上去,adb.exe push e:/y.txt /sdcard/, 不可以用adb.exe push e:\\y.txt \\sdcard\\ 同样: 把仿真器上的文件copy到本地计算机上用: adb pull ./data/data/com.tt/files/test.txt e:/
string filename = /sdcard/y.txt;
//也可以用string filename = mnt/sdcard/y.txt;
string res=;
try{
fileinputstream fin = new fileinputstream(filename);
//fileinputstream fin = openfileinput(filename);
//用这个就不行了,必须用fileinputstream
int length = fin.available();
byte [] buffer = new byte[length];
fin.read(buffer);
res = encodingutils.getstring(buffer, utf-8);
fin.close();
}catch(exception e){
e.printstacktrace();
}
mytextview.settext(res);