安卓初学:如何将文本文件test.txt放到工程资源中,并读到串变量中。详细步骤!

2020-05-21 科技 120阅读

如何将文件打包为资源并在程序中读取


1.新建原文件资源文件夹:

<1>在工程 res--->New-->Folder 新建raw文件夹; <2>点 res-->Build Path-->Use as Source Folder, 将在gen下产生 res/raw 就是文件资源夹;

2.将你的任意文件如test.txt 复制粘贴到 res/raw中,就是文件资源了,将打包在工程APK中;

文件名不能有汉字和大写字母,允许小写字母与数字,如 test.txt

资源路径将是 R.raw.test,  存盘和点运行后,将更新资源标识产生 R.raw.test

3.在程序中可以将资源读到你的变量中,如读到一串变量中:

import java.io.*;

public class AboutActivity extends Activity {
 
    TextView textView21;
    private String readStream(InputStream is)
    {    // 资源流(GBK汉字码)变为串
      String res;
      try
      {
            byte[] buf = new byte[is.available()];        
            is.read(buf);
            res = new String(buf,"GBK");      //  必须将GBK码制转成Unicode 
            is.close();
      } catch (Exception e)
      {
         res=""; 
      }
       return(res);  
         //  把资源文本文件送到String串中  
     }
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_about);
   textView21=(TextView)findViewById(R.id.textView21);
  textView21.setText(
           readStream(getResources().openRawResource(R.raw.test))
                    );       //   放到文本控件  textView21
 }

另一办法,将text.txt文件复制粘贴到工程assets目录,访问资源不是按Id访问,
以文件名访问,在Activity中,代码:

AssetManger aM=getAssets();
            InputStream is=aM.open("test.txt");
            // read from res
            is.close()


声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com