android 关于读取TXT文件的那些事,求解 我的工程目录下,例如 com.test.demo 这个文件夹下有个txt文件, 我在 Activity 中如何去读取操作这个文件,不知道怎么获取路径,求解 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 InputStream inputStream = this.getClass().getClassLoader() .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(); } 楼上放在assets下可以获取到,但是LZ想要的是在与activity的同级包下,LZ看下能不能就根据据对路径试下! android的TextView里的内容怎么左对齐啊? RIM为吸引Android开发者出新招 关于viewstub的一个问题!请各位指教 为什么HttpURLConnection连接jsp文件在eclipse成功,在MyEclipse失败 Eclipse的Navigator栏中是否可以新建一个文件夹,对项目进行归类 怎么回事? 图片外观大变样 [Canvas画图] 新手入门- 点击button就画一个矩形 请问android里怎么读取到另一个进程的内存数据? 如何去掉下拉菜单栏里的导航栏(虚拟按键) 在线升级时网络断开了,该如何处理?请高手帮忙 在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(); }