public void readToBuffer(StringBuffer buffer, InputStream is)throws IOException { String line; BufferedReader reader = new BufferedReader(new InputStreamReader(is)); line = reader.readLine(); while (line != null) { buffer.append(line); buffer.append("\n"); line = reader.readLine(); //显示内容即可 } } public void readTxt(){ try{ Resources rs = this.getContext().getResources(); InputStream is = rs.openRawResource(R.drawable.txt); StringBuffer buffer = new StringBuffer(); readToBuffer(buffer,is); }catch(IOException ex){
} }
不能用啊,提示Resources rs = this.getContext().getResources();这行The method getContext() is undefined for the type ReaderActivity 改成getBaseContext后line里面的结果是空的
String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
line = reader.readLine();
while (line != null) {
buffer.append(line);
buffer.append("\n");
line = reader.readLine(); //显示内容即可
}
}
public void readTxt(){
try{
Resources rs = this.getContext().getResources();
InputStream is = rs.openRawResource(R.drawable.txt);
StringBuffer buffer = new StringBuffer();
readToBuffer(buffer,is);
}catch(IOException ex){
}
}
不能用啊,提示Resources rs = this.getContext().getResources();这行The method getContext() is undefined for the type ReaderActivity
改成getBaseContext后line里面的结果是空的
上面的方法在activity里用,直接this.getResources();就可以返回一个Resources对象了。
然后怎么读取,就是java io的知识了
his.getContext().getResources() 这需要在View中才有这方法,可以
public class ReadTxt extends View
这么定义一个类,然后使用。建议多看看基础吧
就你说的load,也就像VB的富文本框有个方法,其他的语言相对都比较少。另外15行代码包括读取出字符串了,估计你没看代码。
InputStream inputStreamReader = getResources().getAssets().open(filename);
int lenght = inputStreamReader.available();
byte[] buffer = new byte[lenght];
inputStreamReader.read(buffer);
result = EncodingUtils.getString(buffer, "GB2312");
return result;}
textView.setText(getFromAssets("test.txt"));
上面这段代码可以实现textview中载入assets中的txt文件,参考自:
http://www.cnblogs.com/greatverve/archive/2012/03/08/android-assets.html