比如有一个a000.txt的文本文件放在res->drawable目录里,怎么用TextView把它显示出来?

解决方案 »

  1.   

    感觉很怪异,为什么要把txt文件放入drawable目录下。如果要加载内容可以string,也可以放入assert目录下。
      

  2.   

    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){
        
         }
        }
      

  3.   


    不能用啊,提示Resources rs = this.getContext().getResources();这行The method getContext() is undefined for the type ReaderActivity
    改成getBaseContext后line里面的结果是空的
      

  4.   

    大哥们啊。俺就想把文本文件房子啊资源目录里面然后用TextView显示出来,怎么就这么困难?
      

  5.   

    本地文件放在assets目录下吧
    上面的方法在activity里用,直接this.getResources();就可以返回一个Resources对象了。
    然后怎么读取,就是java io的知识了
      

  6.   

    唉,你自己没查资料
    his.getContext().getResources() 这需要在View中才有这方法,可以
    public class ReadTxt extends View
    这么定义一个类,然后使用。建议多看看基础吧
      

  7.   

    JAVA这东西感觉怪怪的,把很简单的东西弄的很复杂,比如载入一个文件这么简易和常用的功能直接.load(文件)或.add(文件)不就可以了吗?为什么要弄的这么复杂?
      

  8.   

    比如danielinbiti的那个代码,足足用了近15行有效代码,而且弄出来的不是可用的字符串,而是“Resources对象”
      

  9.   

    其他语言类似load之类的,无非也是自己封装的,并非java复杂。
    就你说的load,也就像VB的富文本框有个方法,其他的语言相对都比较少。另外15行代码包括读取出字符串了,估计你没看代码。
      

  10.   

    用Inputstream来读取文件的路径
      

  11.   

    先读取txt,然后把读取到的数据赋值给textview
      

  12.   

    CharSequence getFromAssets(String filename){
    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