android 读取raw文件

在Android平台下,除了对应用程序的私有文件夹中的文件进行操作外,还可以从资源文件和 Assets
中获得输入流读取数据,这些文件分别放在应用程序的res/raw 目录和 assets 目录下,这些文件在编译的时候和其他文件一起被打包。


    需要注意的是,来自Resources和Assets
中的文件只可以读取而不能进行写的操作,下面就通过一个例子来说明如何从 Resources 和 Assets中的文件中读取信息。首先分别在res/raw 和
assets 目录下新建两个文本文件 "test1.txt"   和 "test2.txt" 用以读取,结构如下图。




  
为了避免字符串转码带来的麻烦,可以将两个文本文件的编码格式设置为UTF-8。设置编码格式的方法有很多种,比较简单的一种是用 Windows
的记事本打开文本文件,在另存为对话框中编码格式选择"UTF-8" ,如下图。




看一下运行后的效果。

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;
    }
}

时间: 2024-08-05 22:09:38

android 读取raw文件的相关文章

Android读取Assets文件夹中的内容

Android读取Assets文件夹中的内容 assets文件夹是android程序中存放相关外部文件的一个目录,Android官方提供了相应的方法去访问该文件夹中的内容,故此我们并不需要进行相关的路径判断等代码操作,直接调用相关方法打开文件并得到一个字节输入流(InputStream):然后通过相应的字符编码方式读取字节解码为字符输入流(InputStreamReader):再通过BufferReader对字符输入流读取文本并将字符存入缓冲区以便能提供字符.数组和线段的高效读取:最后我们就能逐

android 读取txt文件内容

Android的res文件夹是用来存储资源的,可以在res文件夹下建立一个raw文件夹,放置在raw文件夹下的内容会被原样打包,而不会被编译成二进制文件,并且可以通过R文件进行很方便地访问. 比如我们可以将更新信息.版权信息等放到txt文件中,然后放到raw文件中,然后很方便地进行访问. 在raw中放入一个a.txt文件,然后就可以在Activity中使用getResources().openRawResource(R.raw.a);方法获取一个此文件的InputStream类,而后就可以很方便

Android 读取txt 文件

Android过程:InputStream-InputStremRreader-BufferedReader-String:其中 InputStream inputStream=getResources().openRawResource(R.raw.abc);//abc 为 在res/raw文件下的txt文件Java读取外部txt文件InputStreamReader read = new InputStreamReader( new FileInputStream(file),encodin

Android读取word文件

之前通过第三方jar包tm-extractors-0.4.jar,实现了一个简单的读取word文件的demo,但是只能读取word的文本数据,无法读取图片.表格数据. 最近参考网上的例子http://blog.csdn.net/xiaoxiaobian3310903/article/details/6598500 终于能够读取word里面的图片,表格等内容.在android系统上读取Word格式文档基于的开源包--POI(The Java API For Microsoft Documents)

arcgis for android 读取shp文件中文乱码解决方法

设置注册表默认字符,即可解决中文乱码问题. 'dbfDefault' 设置方法1.开始--运行,输入”Regedit“,打开注册表.2.如是用的是 10.x 版本 ArcGIS Desktop,定位到”My Computer\HKEY_CURRENT_USER\Software\ESRI\Desktop 10.x' (如果是9.3.1之前的版本,定位到 'My Computer\HKEY_CURRENT_USER\Software\ESRI').3.创建项 'Common',接着创建 'Code

android读取xml文件来实现省份,城市,区的选择

本博客如需转载.请注明出处. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 今天要实现省份,城市.区的选择,到网络上百度了一下.发

Android 读取assets文件夹中json文件

这里要介绍一下 读取assets文件夹中json文件 转换成list 集合 只接看代码 非常简单 public static List<State> getStates(Context context) { InputStream is = null; ByteArrayOutputStream bos = null; try { is = context.getAssets().open("area.json"); bos = new ByteArrayOutputStr

Android读取assert文件夹下文件的内容

示例:取资源文件显示在ScrollView当中. 1.ReadAsset.java package com.example.ReadAsset; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; import java.io.IOException; import java.io.InputStream; public class ReadAsset extends Act

Android读取Assert文件夹下txt文本并变为String的方法

使用场景,在assert文件夹下 有些文本文件,我们需要通过工具类读取出来,然后放到String字符串中,我们该如何操作呢: 直接上代码: public static String readAssertResource(Context context, String strAssertFileName) { AssetManager assetManager = context.getAssets(); String strResponse = ""; try { InputStrea