我的工程目录下,例如 com.test.demo 这个文件夹下有个txt文件, 我在 Activity 中如何去读取操作这个文件,不知道怎么获取路径,求解

解决方案 »

  1.   

    InputStream inputStream = this.getClass().getClassLoader()
    .getResourceAsStream("txetname");
      

  2.   


    试了不行, inputStream == null is true
      

  3.   

    估计是路径问题
    我也不多问了 你自己看吧http://riddickbryant.iteye.com/blog/436693
      

  4.   

    以下是我找的资料部分:
    http://developer.51cto.com/art/201001/180516.htm摘超:
    android的默认情况下 ,任何应用创建的文件,数据库, sharedpreferences都应该是私有的(位于/data/data/your_project(包名)/files/),其余程序无法访问。除非作特殊的设置无法用java的api直接打开程序私有的数据 ,默认路径为/data/data/your_project/files/非私有数据只能是放在sdcard上的可以进行读写创建程序私有的文件,由于权限方面的要求,必须使用activity提供的Android读写文件方法    FileOutputStream os = this.openFileOutput("Android.txt", MODE_PRIVATE);  
        OutputStreamWriter outWriter = new OutputStreamWriter (os); 建一个android工程
    我写的测试程序如下:
    在onCreate函数中增加如下代码:
    try{
        String data = "aaaa";
        FileOutputStream os = this.openFileOutput("Android.txt", MODE_PRIVATE);  
        OutputStreamWriter outWriter = new OutputStreamWriter (os); 
        outWriter.write(data);
        outWriter.flush();
    }catch(FileNotFoundException e){
        e.printStackTrace();
    }catch(IOException e){
        e.printStackTrace();
    }   
    然后你打开ddms从data/data/files目录中将文件pull出来看看是不是将文件写进去了
      

  5.   


    我现在是要读文件,   文件位于和activity同级的包下,  我现在通过程序不知道怎么找到文件的路径
      

  6.   


     楼主可以放到raw文件夹中或者asset文件夹中进行读写
       一、       从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写) 
    String res = ""; try{ InputStream in = getResources().openRawResource(R.raw.bbi); //在\Test\res\raw\bbi.txt,   int length = in.available();          byte [] buffer = new byte[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这里有这样的文件存在   int length = in.available();         byte [] buffer = new byte[length];        in.read(buffer);            res = EncodingUtils.getString(buffer, "UTF-8");     }catch(Exception e){       e.printStackTrace();            }
      

  7.   

    楼上放在assets下可以获取到,但是LZ想要的是在与activity的同级包下,LZ看下能不能就根据据对路径试下!