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;
}
}
分享到:
相关推荐
### Android 从 Assets 文件夹获取图片的实现方法 在Android应用开发过程中,经常会遇到需要从`assets`文件夹中加载资源的情况,特别是图片资源。本文将详细介绍如何在Android应用程序中从`assets`文件夹获取图片,...
5. **计算assets文件大小**:要计算`assets`中文件的大小,可以在打开文件流后读取每个字节,累加计数。或者,更简单的方法是在Java中使用`File.length()`方法,但这个方法适用于已存在于本地存储的文件,不适用于`...
在Android开发中,有时我们需要在应用内部存储一些资源文件,如音频、文本或图片,而`assets`文件夹就是用于存放这些非编译型资源的一个特殊目录。在本例中,我们将探讨如何从`assets`文件夹中读取音频文件,并提供...
在Unity中,你可以通过`Application.streamingAssetsPath`来获取当前平台的Streaming Assets路径。例如,如果你有一个名为"Achievement.xml"的文件,你可以通过以下方式读取它: ```csharp string filePath = ...
- **获取AssetManager**:在需要访问assets文件的地方,首先要获取`AssetManager`实例。通常在Activity或Service中,可以通过`getAssets()`方法来获取,例如: ```java AssetManager assetManager = getAssets();...
1. 获取`AssetManager`对象:这是Android系统提供的用于访问`Assets`资源的管理器。通常在Activity中,我们可以使用以下方式获取: ```java AssetManager assetManager = getAssets(); ``` 2. 打开文件:使用`...
注意,由于`setDataSource()`通常接受文件路径,而不是流,所以这里我们使用`InputStream.getFD()`获取文件描述符来设置数据源。 4. **准备和播放**:调用`prepare()`方法来初始化MediaPlayer,然后调用`start()`...
为了复制所有文件,首先需要获取assets目录下的文件列表。可以使用AssetManager的`list()`方法,它返回一个包含子目录名的字符串数组。例如: ```java String[] files = assetManager.list(""); ``` 3. **逐个...
4. **自动化工作流**:使用如Gulp、Grunt或更现代的ESLint、Prettier等工具,可以实现`assets`的自动化编译,包括代码格式化、检查、压缩和优化,以提升代码质量和性能。 5. **按需加载**:对于大型项目,可以利用...
- 要读取`assets`目录下的图片,首先需要创建`AssetManager`实例,然后调用`open()`方法打开文件流。 - 示例代码: ```java AssetManager assetManager = getAssets(); InputStream inputStream = null; try {...
可以使用`AssetManager`类的`open()`方法来获取到文件的输入流。 4. 调用`setInput()`方法,传入输入流和编码格式(如UTF-8)。 5. 进行解析循环,通常包括以下几个步骤: - `next()`方法移动到下一个事件(开始...
标题"android的assets下的文件保存到sd卡"涉及到的就是这样一个场景,即如何将Android应用中`assets`目录下的文件保存到SD卡上。`assets`目录是Android项目中用于存放非编译型资源的一个特殊位置,它可以包含任意...
2. **打开文件流**:在代码中,使用`AssetManager`类来访问assets目录。首先在`onCreate`方法中获取`AssetManager`实例: ```java AssetManager assetManager = getAssets(); ``` 3. **读取文件**:接着,使用`...
在需要访问assets资源的类中,可以通过`getAssets()`方法获取`AssetManager`实例。例如,在Activity中: ```java AssetManager assetManager = getAssets(); ``` 2. 打开图片文件: 使用`AssetManager`的`open...
1. **AssetManager**: 这是Android系统的一个类,用于获取应用程序`assets`目录下的文件。你可以通过`Context.getAssets()`方法获取一个AssetManager实例,然后调用`open()`或`openFd()`来打开并读取文件。 2. **...
// 读取JAR文件到内存流 InputStream inputStream = assetManager.open("myjar.jar"); FileOutputStream fileOutputStream = new FileOutputStream("/data/data/your.package.name/files/myjar.jar"); byte[] buffer...
Assets文件夹中的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件。 二、获取AssetManager 要读取Assets文件夹中的文件,首先需要获取AssetManager引用。可以在Activity中调用getAssets()...
// 获取Assets对象,通过Resources类的getAssets()方法 InputStream is = getResources().getAssets().open(fileName); // 获取输入流可用字节长度 int len = is.available(); // 创建缓冲区,长度为可用字节...
1. **读取Assets中的APK**:首先,我们需要获取到AssetManager的实例,并使用它来打开和读取Assets目录下的APK文件。这通常在应用程序的主线程之外进行,因为I/O操作可能会阻塞UI线程。 2. **创建DexFile对象**:...
它的主要功能包括合并多个文件为一个、压缩资源以减少加载时间、自动编译Sass或Less这样的预处理器语言,以及版本控制,确保浏览器始终获取最新的资源。 在Web开发中,当我们的应用有多个CSS或JS文件时,每次页面...