`
wang_2011_ying
  • 浏览: 144702 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Android读取文件方法总结

 
阅读更多
首先,说一句android真是坑爹啊!不过细想想,是我看书太少吧。。。
最近做一个项目,打算把所有的配置写在一个文件里,方便软件的管理和使用。
我的配置文件是XML格式的,当文件写好之后,使用DOM对XML文件进行了解析,代码如下:
public void initServer(){
	try {
			DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();
			DocumentBuilder dombuilder = domfac.newDocumentBuilder();
			
			InputStream is = new FileInputStream("./configuration.xml");		
                           Document doc = dombuilder.parse(is);
			Element root = doc.getDocumentElement();
			NodeList configuration = root.getChildNodes();
			if(configuration != null){
				for(int i = 0 ; i < configuration.getLength() ; i ++){
					Node conf = configuration.item(i);
					for(Node node = conf.getFirstChild(); node != null; node = node.getNextSibling()){
						if(conf.getNodeType() == Node.ELEMENT_NODE){
							if(conf.getNodeName().equals("ip")){
								ip = conf.getFirstChild().getNodeValue();
							}
							if(conf.getNodeName().equals("port")){
								port = new Integer(conf.getFirstChild().getNodeValue());
							}
							if(conf.getNodeName().equals("map-key")){
								mykey = conf.getFirstChild().getNodeValue();
							}
						}
					}
				}
			}
				
		} catch (ParserConfigurationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}catch (SAXException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		   

}

程序编译出现文件读写错误的异常!!后来查了资料才知道,Android不支持读取与工程直接子级的文件,解决办法是:
在res文件夹下新建一个raw文件夹,然后将你的文件拷入该文件夹下,如下如所示:

读取代码的方法如下:
InputStream is = getResources().openRawResource(R.raw.configuration);


这个问题整整纠缠了我两天!!特此总结一下,希望可以帮助遇到同样问题的朋友~
下面介绍一下从asset中获取文件并读取数据的方法(该资源文件只能读,不能写)
asset目录下,称为原生文件,这类文件在被打包成apk文件时是不会进行压缩的,android使用AssetManager对asset文件进行访问,通过getResources().getAssets()获得AssetManager其内有一个open()方法可以根据用户提供的文件名,返回一个InputStream对象供用户使用。代码如下:
getResources().getAssets().open(fileName);
  • 大小: 5 KB
分享到:
评论

相关推荐

    Android 读取文件内容实现方法总结

    Android 读取文件内容实现方法,这里整理了几种方法,大家需要可以看下。 如果要打开存放在/data/data/&lt;package&gt;/files目录应用私有的文件,可以使用Activity提供openFileInput()方法。 FileInputStream inStream =...

    Android 文件读写操作方法总结

    主要介绍了Android 文件读写操作方法总结的相关资料,需要的朋友可以参考下

    Android 调用系统相机拍摄获取照片的两种方法实现实例

    下面是我总结的两种方法获取拍摄之后的照片,一种是通过Bundle来获取压缩过的照片,一种是通过SD卡获取的原图。 下面是演示代码: 布局文件: &lt;LinearLayout xmlns:android=...

    android使用mysql的方法总结

    第一种是通过连接服务器,再由服务器读取数据库来实现数据的增删改查,这也是我们常用的方式。 第二种方式是android直接连接数据库,这种方式非常耗手机内存,而且容易被反编译造成安全隐患,所以在实际项目中不推荐...

    Android如何获得网络资源的大小

    Android中如何获取网络资源(如图片,音乐,视频,文档等)的大小! 较小的一个总结 不过很实用!

    高通平台android-modem 架构总结

    高通平台android-modem 架构总结,希望大家都能好好学习,希望下载的给好评。

    Android编程之文件读写操作与技巧总结【经典收藏】

    本文对android中对资源文件的读取、数据区文件的读取、SD卡文件的读取及RandomAccessFile的方式和方法进行了整理。供参考。 一、资源文件的读取: 1) 从resource的raw中读取文件数据: String res = ; try{ //得到...

    自己平时做的android相关的总结

    layout文件夹和raw文件下面的文件读取 Matrix方法中的set方法和post方法 android 中调用drawBitmap时理解dip(屏幕密度)和px(像素)的区别 SQLiteDatabase 的setTransactionSuccessful作用 终于弄明白 paddingleft...

    Android 获取内外SD卡路径几种方法总结

    Android 获取SD卡路径: 外置sd卡路径,也许很多同学在平时的工作中并不会用到,因为现在很多机型都不支持外置sd卡(这也是Google目标),所以并不用考虑外置sd卡的路径问题。除了开发文件管理类的应用之外,其他应用...

    Qualcomm平台android开发总结

    1、 高通平台android开发总结. 7 1.1 搭建高通平台环境开发环境. 7 1.2 搭建高通平台环境开发环境. 7 1.2.1 高通android智能平台概述. 7 1.2.1.1 什么是L4,REX,BREW,AMSS以及相互之间的关系. 7 1.2.2 选择合适的源...

    android Bitmap用法总结

    android Bitmap用法总结 Bitmap用法总结 1、Drawable → Bitmap public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = Bitmap .createBitmap( drawable.getIntrinsicWidth(), drawable....

    Android开发实验---通讯录.docx

    (3)每位同学独立完成实验报告(包括学号、姓名,实验目的、实验内容、软件功能、设计思想、实验总结等),并将实验报告和开发软件的工程文件压缩包提交任课教师。 实验设备及软件: 一台电脑,Androidstudio2.3.3...

    Android 的一些特效

    android 读取文件内容操作.doc Android 选项卡效果.doc Android中 信息的输出——Log.v的使用.doc Android手机连接电脑详细图文教程.doc android横竖屏总结.doc Android 的手势拖动切换ViewViewFlipper.doc ...

    基于Android ContentProvider的总结详解

    1.适用场景1) ContentProvider为存储和读取数据提供了统一的接口2) 使用ContentProvider,应用程序可以实现数据共享3) android内置的许多数据都是使用ContentProvider形式,供开发者调用的(如视频,音频,图片,...

    Android的一些特效资料

    android 读取文件内容操作.doc Android 选项卡效果.doc Android中 信息的输出——Log.v的使用.doc Android手机连接电脑详细图文教程.doc android横竖屏总结.doc Android 的手势拖动切换ViewViewFlipper.doc Eclipse...

    获取文件清单中的元数据

    现在公司或是个人在开发应用后,需要打包成多个渠道的,然而根据不同的渠道号,又有不同的需求改动,这时我们可以根据渠道号来在服务器端进行不同的处理,该文档教你怎么获取应用中的渠道号

    Android移动开发实验6.doc

    " "(2)在MainActivity的onCreat()方法中,获取布局文件中添加的按钮,并" "为其设置单击事件监听器,实现启动另一个Activity功能; " "(3)创建详细页面Activity布局文件,名称为activity_detail.xml,在该" ...

Global site tag (gtag.js) - Google Analytics