600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > android读取assets中的txt文件路径 Android 读取assets文件下的txt文件

android读取assets中的txt文件路径 Android 读取assets文件下的txt文件

时间:2023-02-20 06:22:07

相关推荐

android读取assets中的txt文件路径 Android 读取assets文件下的txt文件

android 读取assets文件下的txt文件,解决了读取txt文件的乱码问题;

package .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;

@Override

protected 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 block

e.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 block

e.printStackTrace();

}

return null;

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。