我的工程目录下,例如 com.test.demo 这个文件夹下有个txt文件, 我在 Activity 中如何去读取操作这个文件,不知道怎么获取路径,求解
解决方案 »
- 大神,求指导! root权限下 读取sys/class 里面的文件
- 求助:关于bitmap截取指定区域的问题
- 求免费的 Remote Desktop Client for Android 工具
- Android xml中带对勾的按钮
- 手机地图实景地图的实现思路是什么?
- socket客户端运行在真机上报:error opening trace file: No such file or directory (2) Refusin
- Android上使用Zxing二维码扫描
- android app安装时最后一步提示后台运行 怎样才能:默认勾选
- 关于Android Gson解析的问题
- 求助!android studio 问题
- 在线升级时网络断开了,该如何处理?请高手帮忙
- 在listview填加文字图片功能
.getResourceAsStream("txetname");
试了不行, inputStream == null is true
我也不多问了 你自己看吧http://riddickbryant.iteye.com/blog/436693
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出来看看是不是将文件写进去了
我现在是要读文件, 文件位于和activity同级的包下, 我现在通过程序不知道怎么找到文件的路径
楼主可以放到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(); }