国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android編程實(shí)現(xiàn)讀取工程中的txt文件功能

2019-12-12 03:40:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了Android編程實(shí)現(xiàn)讀取工程中的txt文件功能。分享給大家供大家參考,具體如下:

1. 眾所周知,Android的res文件夾是用來(lái)存儲(chǔ)資源的,可以在res文件夾下建立一個(gè)raw文件夾,放置在raw文件夾下的內(nèi)容會(huì)被原樣打包,而不會(huì)被編譯成二進(jìn)制文件,并且可以通過(guò)R文件進(jìn)行很方便地訪問(wèn)。
比如我們可以將更新信息、版權(quán)信息等放到txt文件中,然后放到raw文件中,然后很方便地進(jìn)行訪問(wèn)。

在raw中放入一個(gè)a.txt文件,然后就可以在Activity中使用getResources().openRawResource(R.raw.a);方法獲取一個(gè)此文件的InputStream類,而后就可以很方便地進(jìn)行讀寫(xiě)a.txt了。

InputStream inputStream = getResources().openRawResource(R.raw.a);

一個(gè)獲取InputStream中字符串內(nèi)容的方法:

public static String getString(InputStream inputStream) {  InputStreamReader inputStreamReader = null;  try {    inputStreamReader = new InputStreamReader(inputStream, "gbk");  } catch (UnsupportedEncodingException e1) {    e1.printStackTrace();  }  BufferedReader reader = new BufferedReader(inputStreamReader);  StringBuffer sb = new StringBuffer("");  String line;  try {    while ((line = reader.readLine()) != null) {      sb.append(line);      sb.append("/n");    }  } catch (IOException e) {    e.printStackTrace();  }  return sb.toString();}

傳入一個(gè)InputStream,返回其中的文本內(nèi)容。

其中:

inputStreamReader = new InputStreamReader(inputStream, "gbk");

為以gbk編碼讀取內(nèi)容,不同的文本文件可能編碼不同,如果出現(xiàn)亂碼,可能需要調(diào)整編碼

2. 下面通過(guò)一個(gè)例子講解讀取資源文件顯示在ScrollView當(dāng)中:

①.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 Activity {  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.read_asset);    try {//Return an AssetManager instance for your application's package      InputStream is = getAssets().open("index.txt");      int size = is.available();      // Read the entire asset into a local byte buffer.      byte[] buffer = new byte[size];      is.read(buffer);      is.close();      // Convert the buffer into a string.      String text = new String(buffer, "GB2312");      // Finally stick the string into the text view.      TextView tv = (TextView) findViewById(R.id.text);      tv.setText(text);    } catch (IOException e) {      // Should never happen!      throw new RuntimeException(e);    }  }}

②. read_asset.xml文件

<?xml version="1.0" encoding="utf-8"?><ScrollView android:layout_width="fill_parent"  xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_height="fill_parent" android:paddingTop="50dip">  <TextView android:id="@+id/text" android:layout_width="fill_parent"    android:layout_height="wrap_content" android:textStyle="normal" /></ScrollView>

③.然后在工程里面新建一個(gè)assets文件夾,隨便放一個(gè)index.txt的文件在其中,運(yùn)行 Ctrl+F11進(jìn)行測(cè)試即可;

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android文件操作技巧匯總》、《Android視圖View技巧總結(jié)》、《Android開(kāi)發(fā)動(dòng)畫(huà)技巧匯總》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android布局layout技巧總結(jié)》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 会东县| 岐山县| 澎湖县| 金沙县| 房产| 灵璧县| 新津县| 昆山市| 民县| 晴隆县| 常德市| 沾化县| 佛教| 定州市| 镇赉县| 日土县| 邛崃市| 华安县| 仲巴县| 余干县| 辰溪县| 内丘县| 搜索| 昌乐县| 晋江市| 苍梧县| 佛山市| 磐石市| 保康县| 许昌市| 牙克石市| 朝阳市| 都江堰市| 叶城县| 沙雅县| 屏东县| 绥宁县| 伽师县| 扬州市| 阳新县| 天镇县|