首先,说一句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 blocke.printStackTrace();}catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch (SAXException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}   }

程序编译出现文件读写错误的异常!!后来查了资料才知道,Android不支持读取与工程直接子级的文件,解决办法是:
在res文件夹下新建一个raw文件夹,然后将你的文件拷入该文件夹下,如下如所示:
Android读取文件方法总结
读取代码的方法如下:
InputStream is = getResources().openRawResource(R.raw.configuration);


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

更多相关文章

  1. 使用SAX或者DOM或者pull解析XML文件
  2. android中svg文件的使用
  3. android资源文件之:shape详解
  4. Android Studio xml android标签突然没有代码提示问题的解决
  5. Android填坑之旅(第十七篇)MIX2 适配看这一篇就够了,只需一行代码
  6. Android 代码实现查看SQLite数据库中的表
  7. android:如何在java代码中覆盖webview中的javascript事件
  8. android的代码性能优化

随机推荐

  1. android mapview 学习总结
  2. Android(安卓)studio 3.4中gradle版本5.1
  3. Android消息机制(Handler)详述
  4. Android捕获Home按键
  5. XUtils-Android(安卓)最火的快速开发框架
  6. Android事件的分发、拦截和执行
  7. android_Server_Socket_通信序列化实现
  8. Android(安卓)高德地图 Polyline 设置点
  9. android- activity,Application,activity
  10. Error generating final archive