一、resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写)

String res ="";

try{

InputStream in =getResources().openRawResource(R.raw.bbi);

//\Test\res\raw\bbi.txt,

intlength = in.available();

byte[] buffer =newbyte[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这里有这样的文件存在

intlength = in.available();

byte[] buffer =newbyte[length];

in.read(buffer);

res = EncodingUtils.getString(buffer,"UTF-8");

}catch(Exception e){

e.printStackTrace();

}

三、sdcard中去读文件,首先要把文件通过\android-sdk-windows\tools\adb.exe把本地计算机上的文件copysdcard上去,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 =newFileInputStream(fileName);

//FileInputStream fin =openFileInput(fileName);

//用这个就不行了,必须用FileInputStream

intlength = fin.available();

byte[] buffer =newbyte[length];

fin.read(buffer);

res = EncodingUtils.getString(buffer,"UTF-8");

fin.close();

}catch(Exception e){

e.printStackTrace();

}

myTextView.setText(res);

四、写文件,一般写在\data\data\com.test\files\里面,打开DDMS查看file explorer是可以看到仿真器文件存放目录的结构的

String fileName ="TEST.txt";

String message ="FFFFFFF11111FFFFF";

writeFileData(fileName, message);

publicvoidwriteFileData(String fileName,String message){

try{

FileOutputStream fout =openFileOutput(fileName,MODE_PRIVATE);

byte[] bytes = message.getBytes();

fout.write(bytes);

fout.close();

}

catch(Exception e){

e.printStackTrace();

}

}

五、写,data/data/目录(相当AP工作目录)上的文件,openFileOutput

//写文件在./data/data/com.tt/files/下面

publicvoidwriteFileData(String fileName,String message){

try{

FileOutputStream fout =openFileOutput(fileName,MODE_PRIVATE);

byte[] bytes = message.getBytes();

fout.write(bytes);

fout.close();

}

catch(Exception e){

e.printStackTrace();

}

}

//-------------------------------------------------------

//读文件在./data/data/com.tt/files/下面

publicString readFileData(String fileName){

String res="";

try{

FileInputStream fin = openFileInput(fileName);

intlength = fin.available();

byte[] buffer =newbyte[length];

fin.read(buffer);

res = EncodingUtils.getString(buffer,"UTF-8");

fin.close();

}

catch(Exception e){

e.printStackTrace();

}

returnres;

}

六、写,sdcard目录上的文件,要用FileOutputStream不能用openFileOutput

//写在/mnt/sdcard/目录下面的文件

publicvoidwriteFileSdcard(String fileName,String message){

try{

//FileOutputStreamfout = openFileOutput(fileName, MODE_PRIVATE);

FileOutputStream fout =newFileOutputStream(fileName);

byte[] bytes = message.getBytes();

fout.write(bytes);

fout.close();

}

catch(Exception e){

e.printStackTrace();

}

}

//读在/mnt/sdcard/目录下面的文件

publicString readFileSdcard(String fileName){

String res="";

try{

FileInputStream fin =new FileInputStream(fileName);

intlength = fin.available();

byte[] buffer =newbyte[length];

fin.read(buffer);

res = EncodingUtils.getString(buffer,"UTF-8");

fin.close();

}

catch(Exception e){

e.printStackTrace();

}

returnres;

}

注: openFileOutput是在raw里编译过的,FileOutputStream是任何文件都可以

=================================================================================

TextView android:id="@+id/textView1" android:scrollbars="vertical"     android:singleLine="false"    android:layout_width="match_parent" android:layout_height="match_parent"></TextView>


当然我们为了让TextView动起来,还需要用到TextView的setMovementMethod方法设置一个滚动实例,代码如下

TextView tv = (TextView)findViewById(R.id.tvCWJ);
tv.setMovementMethod(ScrollingMovementMethod.getInstance());// Android开发网提示相关的可以查看SDK中android.text.method分支了解更多





更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  4. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  5. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  6. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  7. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  8. Android(安卓)源码 URLUTIL 判断文件类型问题
  9. ExpandableListActivity 使用

随机推荐

  1. Android手机网络类型转换
  2. DevicePolicyManagert设备管理员
  3. 使用SmartRefreshLayout 给RecyclerView
  4. Android(安卓)Base64Encoder
  5. android 深入理解LayoutInflater
  6. libgdx一个完整的处理流程
  7. Parcel了解
  8. android中使用surfaceview进行视频播放
  9. Android(安卓)PopupMenu显示
  10. android获取网页数据的几种方式