`
wang_2011_ying
  • 浏览: 150798 次
  • 性别: 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读取中文文件乱码解决方法 #### 一、问题背景 在开发Android应用时,经常需要处理中文字符或包含中文的文件。如果处理不当,可能会遇到中文乱码的问题,尤其是在读取本地文件或者从网络下载文件时更为...

    android 读取ppt文件

    在Android平台上,读取PPT(PowerPoint)文件是一个相对复杂的过程,因为原生的Android SDK并不直接支持这种操作。通常,我们需要借助第三方库或服务来实现这一功能。本篇文章将详细探讨如何在Android应用中读取PPT...

    android中文件的保存与读取

    在Android系统中,文件的保存和读取...总结起来,Android文件系统的使用涵盖了内部存储和外部存储,涉及文件的创建、读写以及权限控制等多个方面。开发者需要根据应用需求选择合适的数据存储方式,并注意安全性和效率。

    Android读写配置文件

    总结来说,Android的配置文件读写主要涉及SharedPreferences和File操作。对于简单的偏好设置,SharedPreferences提供了方便快捷的方法;而对于复杂数据结构或自定义格式,直接操作文件(如XML或JSON)会更有灵活性。...

    Android 逐行写入和读取文本文件Demo

    总结,Android Studio 3.2中的"Android 逐行写入和读取文本文件Demo"涵盖了基本的文件操作概念,包括文件流的获取、缓冲流的使用以及文件的读写方法。这些知识对于任何Android开发者来说都是基础且重要的。通过实践...

    Android录音 获取录音文件 录音时间

    本文将深入探讨如何在Android中实现录音、获取录音文件以及控制录音时间,同时也会提及与动画和文件操作相关的知识点。 一、Android录音机制 Android系统提供了MediaRecorder类来处理音频录制。MediaRecorder是一个...

    Android读取Txt文件源码及性能分析

    在Android平台上,开发人员经常...总结,Android读取Txt文件涉及到了文件I/O操作、数据处理以及性能优化等多个方面。理解这些知识点对于Android开发者来说至关重要,能够帮助他们编写高效且用户体验良好的应用程序。

    android中读取properties文件

    总结来说,Android中读取`.properties`文件主要涉及`Properties`类的使用,文件的存放位置(如`assets`或`res/raw`),以及适当的错误处理和资源管理。理解这些知识点有助于开发者更高效地管理和使用配置文件。

    Android 从assets中获取ini文件内容

    本篇文章将详细介绍如何在Android应用程序中从assets目录下获取ini文件的内容,并实现对指定内容的读取。 首先,让我们了解一下Android项目的assets目录。这是一个特殊的位置,允许开发者放置任何静态资源文件,...

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

    本文将详细介绍几种在Android中读取文件内容的方法。 首先,如果你需要读取应用私有的文件,通常这些文件位于 `/data/data/&lt;package name&gt;/files` 目录下。Android 提供了 `Activity` 类中的 `openFileInput()` ...

    android 读取 assets 文件夹下的音频

    总结一下,从`assets`文件夹读取音频文件包括以下步骤: 1. 获取`AssetManager`对象。 2. 使用`AssetManager`打开音频文件的输入流。 3. 读取文件内容,可能需要转换为特定格式。 4. 使用`MediaPlayer`或类似库播放...

    Qt Android 读写文件权限与录制音频权限询问Demo

    在Android平台上,开发基于Qt的应用程序时,由于Android 6.0(API级别23)引入了运行时权限管理,因此对于涉及敏感操作如读写文件和录制音频的功能,需要在运行时请求用户授权。本Demo是针对这些权限管理的一个实例...

    读取Android .db文件

    总结来说,读取Android的.db文件涉及到获取数据库文件、使用SQLite查看器以及掌握基本的SQL知识。MWYISSQLiteSpy等工具提供了便捷的方式,使开发者和非开发者都能轻松地查看和管理Android应用程序的数据库。

    android apk获取root权限方法总结

    Android APK 获取 Root 权限方法总结 Android APK 获取 Root 权限是一个复杂的技术难题,许多开发者和用户都遇到过这个问题。那么,如何使 Android APK 获取 Root 权限呢?今天,我们将总结一些常见的方法来获取 ...

    android文件读写权限

    总结来说,Android文件读写权限管理是一个复杂的过程,开发者需要在`AndroidManifest.xml`中声明权限,并在Android 6.0及以上版本中处理运行时权限请求。随着Android版本的更新,如Android Q,文件访问方式也会相应...

    android读取文件内容操作.pdf

    总结以上知识点,Android平台文件操作主要包括以下几个方面: 1. 使用Context的openFileInput和openFileOutput方法,分别进行文件的读取和写入操作。 2. 利用FileInputStream和FileOutputStream处理文件的输入输出...

    Android 文件读写操作方法总结

    Android 文件读写操作方法总结 Android 中的文件读写操作是 Android 应用程序开发中不可或缺的一部分。 Android 文件系统中有多种类型的文件,包括资源文件、数据区文件、SD 卡文件等,每种类型的文件都有其特定的...

    android 文件读取

    根据提供的文件信息,我们可以总结出以下关于 Android 文件读写的知识点: ### 一、文件操作类 `FileService` 分析 #### 1. 类定义及作用 `FileService` 类是用于处理 Android 应用程序中的文件读写操作的工具类。...

    Android 文件读写操作

    资源文件通常存储在`res/raw`目录下,可以通过`openRawResource()`方法获取输入流,然后读取数据。例如,要读取名为`test.txt`的文件,可以使用以下代码: ```java InputStream in = getResources().openRawResource...

Global site tag (gtag.js) - Google Analytics