Android 读取assets文件下的txt文件,androidassets,android 读取as
分享于 点击 15086 次 点评:262
Android 读取assets文件下的txt文件,androidassets,android 读取as
android 读取assets文件下的txt文件,解决了读取txt文件的乱码问题;
package com.example.com.scrollview;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import android.app.Activity;import android.content.res.AssetManager;import android.os.Bundle;import android.util.Log;import android.widget.TextView;public class MainActivity extends Activity {private TextView novel;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);novel = (TextView) findViewById(R.id.novel);AssetManager am=getAssets();try {InputStream is=am.open("zx.txt");String code=getCode(is);is=am.open("zx.txt");BufferedReader br=new BufferedReader(new InputStreamReader(is,code));String line=br.readLine();int i=0;while(line!=null){novel.append(line+"\n");line=br.readLine();i++;if(i==200){break;}}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}// novel.setText(readNovel());}public String getCode(InputStream is){try {BufferedInputStream bin = new BufferedInputStream(is); int p;p = (bin.read() << 8) + bin.read(); String code = null; switch (p) { case 0xefbb: code = "UTF-8"; break; case 0xfffe: code = "Unicode"; break; case 0xfeff: code = "UTF-16BE"; break; default: code = "GBK"; } is.close(); return code;} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} return null; }}
用户点评