在Android平台下,除了对应用程序的私有文件夹中的文件进行操作外,还可以从资源文件和 Assets 中获得输入流读取数据,这些文件分别放在应用程序的res/raw 目录和 assets 目录下,这些文件在编译的时候和其他文件一起被打包。
需要注意的是,来自Resources和Assets 中的文件只可以读取而不能进行写的操作,下面就通过一个例子来说明如何从 Resources 和 Assets中的文件中读取信息。首先分别在res/raw 和 assets 目录下新建两个文本文件 "test1.txt" 和 "test2.txt" 用以读取,结构如下图。
为了避免字符串转码带来的麻烦,可以将两个文本文件的编码格式设置为UTF-8。设置编码格式的方法有很多种,比较简单的一种是用 Windows 的记事本打开文本文件,在另存为对话框中编码格式选择"UTF-8" ,如下图。
看一下运行后的效果。
下面我们就来看看代码吧。
Activity02
package xiaohang.zhimeng;
import java.io.InputStream;
import org.apache.http.util.EncodingUtils;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.TextView;
public class Activity02 extends Activity{
public static final String ENCODING = "UTF-8";
TextView tv1;
TextView tv2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv1 = (TextView)findViewById(R.id.tv1);
tv1.setTextColor(Color.RED);
tv1.setTextSize(15.0f);
tv2 = (TextView)findViewById(R.id.tv2);
tv2.setTextColor(Color.RED);
tv2.setTextSize(15.0f);
tv1.setText(getFromRaw());
tv2.setText(getFromAssets("test2.txt"));
}
//从resources中的raw 文件夹中获取文件并读取数据
public String getFromRaw(){
String result = "";
try {
InputStream in = getResources().openRawResource(R.raw.test1);
//获取文件的字节数
int lenght = in.available();
//创建byte数组
byte[] buffer = new byte[lenght];
//将文件中的数据读到byte数组中
in.read(buffer);
result = EncodingUtils.getString(buffer, ENCODING);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
//从assets 文件夹中获取文件并读取数据
public String getFromAssets(String fileName){
String result = "";
try {
InputStream in = getResources().getAssets().open(fileName);
//获取文件的字节数
int lenght = in.available();
//创建byte数组
byte[] buffer = new byte[lenght];
//将文件中的数据读到byte数组中
in.read(buffer);
result = EncodingUtils.getString(buffer, ENCODING);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
源码附件
- 大小: 56.4 KB
- 大小: 16.7 KB
- 大小: 25.6 KB
分享到:
相关推荐
在Android应用开发中,...总之,Android开发者可以通过`Resources`和`AssetManager`接口读取raw和assets目录下的txt文件,这为在应用中集成文本数据提供了便利。理解这些操作对于创建功能丰富的Android应用至关重要。
与res目录中的其他资源不同,Assets中的文件不会被编译或处理,而是原封不动地打包到APK中,可以在运行时动态访问。这种方式特别适合存放如数据库文件、文本文件、XML配置文件、音频文件等非标准格式的数据。 **1. ...
Android从assets和res中读取文件 Android中的资源文件夹主要有两个:res和assets。res文件夹用于存放编译后的资源文件,而assets文件夹用于存放原始文件。下面我们将详细介绍这两个文件夹的作用和如何从中读取文件...
本示例“android读取raw和assets下资源文件demo”旨在教你如何在Android应用中有效地读取并处理存储在`res/raw`和`assets`目录下的资源文件。 一、res/raw目录 `res/raw`目录是Android资源系统的一部分,它允许...
目的:当App中用到固定的json数据时,如:国家城市列表、班级成员等时,可以将json数据制作为本地json文件存入assets文件夹下。... // 获得assets资源管理器(assets中的文件无法直接访问,可以使用AssetManager访问
- Android加载assets中的资源文件实例代码 - Android 读取assets和raw文件内容的实例代码 - Android 中raw和assets文件夹的区别 - Android API编程之Assets文件操作示例 - Android开发实现读取Assets下文件及文件...
这个压缩包文件"Android代码-文件夹的创建将raw中文件放到SD卡中将assets中文件保存到SD卡中压缩包的解压文件的删除功能.rar"包含了几个关键的Android文件操作知识点。下面我们将详细探讨这些内容。 首先,让我们从...
2. **Android读取.dat文件** 在Android中,读取文件的操作与Java略有不同,因为Android对文件访问有更严格的限制。一般情况下,你需要使用`AssetManager`(对于预打包的文件)或`Context`的方法(如`openFileInput()...
总结来说,Android中读取`.properties`文件主要涉及`Properties`类的使用,文件的存放位置(如`assets`或`res/raw`),以及适当的错误处理和资源管理。理解这些知识点有助于开发者更高效地管理和使用配置文件。
本文将深入探讨如何在Android中读取`assets`目录下的文件,以及相关的注意事项。 首先,`assets`目录位于项目的`src/main/assets`路径下。在此目录中创建的任何文件都会被包含在最终的APK文件中,并在运行时可供...
来自Resources和Assets 中的文件只可以读取而不能进行写的操作。 assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件。 1. 先在Activity里面调用getAssets() 来获取...
Android 中的raw和assets文件夹是两个重要的资源文件夹,它们都是用于存储应用程序中的资源文件的,但是它们之间存在一些区别。本文将详细介绍raw和assets文件夹的区别,使读者更好地理解和使用它们。 相同点 raw...
本示例源码着重展示了如何在Android设备上进行一系列的文件管理操作,包括创建文件夹、从raw资源目录和assets目录读取文件并保存到SD卡,以及对解压缩后的文件进行删除处理。下面将详细解析这些知识点。 1. **创建...
在Android开发中,处理XML数据是一项常见的任务,无论是从服务器获取数据还是本地文件解析,XML因其结构化的特性被广泛使用。本篇文章将详细介绍如何利用SAX解析器来读取XML文件内容,这是一种轻量级、事件驱动的...
Android Ndk: 如何从native层直接获取 assets文件夹下的文件-附件资源
通过使用Qt Creator或qmake工具,你可以创建一个`.qrc`文件,该文件包含了资源的路径和文件列表。这些资源在编译时会被编译成C++代码,并嵌入到最终的可执行文件中。例如,你可以将图片、字体、XML文件等资源添加到...
总之,通过使用Android的AssetManager和Apache POI库,我们可以轻松地在Android应用中读取和解析Excel表格数据。理解这个过程对于构建涉及数据导入和处理功能的应用至关重要。注意在实际开发中,要考虑到性能、异常...
本文将深入探讨如何在Android应用中读取RAW文件数据,以及如何处理储存在ASSETS文件夹内的资源。 一、RAW文件读取 Android系统提供了`R.raw`类,用于访问在res/raw目录下的资源文件。以下是如何读取RAW文件的基本...
1. **选择合适的第三方库**:项目中可能使用了如Firebase Cloud Messaging (FCM) 或者极光推送(Apptentive)等第三方服务,这些服务提供SDK和API,使得Unity能够与Android系统进行通信,发送和接收通知。 2. **配置...