android之文件操作——讀取assets和raw文件下的內容

来源:http://www.cnblogs.com/xy95/archive/2016/10/24/5991607.html
-Advertisement-
Play Games

1.分別創建assets文件夾和res/raw文件夾:(要註意的raw文件是在res下new,然後創建一個名字為raw的文件夾) 2.創建兩個txt文件,複製到asset和raw文件夾中: 3.實現的效果: 4.實現代碼: (1)佈局文件: 1 <?xml version="1.0" encodin ...


1.分別創建assets文件夾和res/raw文件夾:(要註意的raw文件是在res下new,然後創建一個名字為raw的文件夾)

      

2.創建兩個txt文件,複製到asset和raw文件夾中:

3.實現的效果:

4.實現代碼:

(1)佈局文件:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:orientation="vertical"
 7     tools:context="base.readassetsfile.MainActivity">
 8     <Button
 9         android:textSize="20sp"
10         android:text="@string/aasets_txt"
11         android:id="@+id/readFile"
12         android:layout_width="match_parent"
13         android:layout_height="wrap_content" />
14     <Button
15         android:textSize="20sp"
16         android:text="@string/raw"
17         android:id="@+id/readRawFile"
18         android:layout_width="match_parent"
19         android:layout_height="wrap_content" />
20 </LinearLayout>
View Code

(2)具體實現:

 1 package base.readassetsfile;
 2 
 3 import android.support.v7.app.AppCompatActivity;
 4 import android.os.Bundle;
 5 import android.util.Log;
 6 import android.view.View;
 7 import android.widget.EditText;
 8 
 9 import java.io.BufferedReader;
10 import java.io.IOException;
11 import java.io.InputStream;
12 import java.io.InputStreamReader;
13 import java.io.OutputStream;
14 import java.io.UnsupportedEncodingException;
15 
16 public class MainActivity extends AppCompatActivity implements View.OnClickListener {
17     @Override
18     protected void onCreate(Bundle savedInstanceState) {
19         super.onCreate(savedInstanceState);
20         setContentView(R.layout.activity_main);
21         findViewById(R.id.readFile).setOnClickListener(this);
22         findViewById(R.id.readRawFile).setOnClickListener(this);
23     }
24     @Override
25     public void onClick(View v) {
26         switch (v.getId()){
27             case R.id.readFile:
28                 readAsset();
29                 break;
30             case R.id.readRawFile:
31                 readRaw();
32                 break;
33         }
34     }
35     public void readAsset(){
36         try {
37             //獲取文件中的位元組
38             InputStream inputStream=getResources().getAssets().open("Test.txt");
39             //將位元組轉換為字元
40             InputStreamReader isReader=new InputStreamReader(inputStream,"UTF-8");
41             //使用bufferReader去讀取內容
42             BufferedReader reader=new BufferedReader(isReader);
43             String out="";
44             while((out=reader.readLine())!=null){
45                 Log.d("讀取到的文件信息:",out);
46             }
47         } catch (IOException e) {
48             e.printStackTrace();
49         }
50     }
51     public void readRaw(){
52         try {
53             //獲取文件中的內容
54             InputStream inputStream=getResources().openRawResource(R.raw.test);
55             //將文件中的位元組轉換為字元
56             InputStreamReader isReader=new InputStreamReader(inputStream,"UTF-8");
57             //使用bufferReader去讀取字元
58             BufferedReader reader=new BufferedReader(isReader);
59             String out="";
60             try {
61                 while((out=reader.readLine())!=null){
62                     Log.d("從raw文件夾中讀取到的數據:",out);
63                 }
64             } catch (IOException e) {
65                 e.printStackTrace();
66             }
67         } catch (UnsupportedEncodingException e) {
68             e.printStackTrace();
69         }
70     }
71 
72 }
View Code

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • avalon.js是一款迷你的MVVM框架,設計者將其相容到了IE6。輕巧的體積和良好的相容使它非常適合國內的某些項目(學校、政府、銀行)。然而有時候居然出現了在ie上無法渲染的情況。 例如下列這段簡單的demo: 在chrome上的顯示是: 而在ie8上顯示卻是這樣: 大家不要慌張,可能是你加入了 ...
  • 一,JS模塊化演變過程 1.普通函數封裝 最初的這種普通函數封裝的缺點很明顯:污染了全局變數,無法避免的會與其他模塊發生變數名衝突,而且自身模塊成員之間沒有任何聯繫,,說白了就是沒有做到“高內聚,低耦合”原則 2.對象 技術一直在進步,這種做法的避免了變數污染,只要保證模塊名唯一即可,自身模塊內的成 ...
  • 所謂彈性滾動就是指在翻動長頁面手指離開時,有由慢到塊,由快到慢的過度。 安卓平臺上的大多數瀏覽器都預設了該行為 ios當前還只對<body>下的 overflow 預設產生彈性滾動效果 前一陣子做了一個手機官網,用到了 <div> 中的 overflow,再調試 ios 中遇到了彈性滾動的問題: i ...
  • javascript的一切實例都是對象,只是對象之間稍有不同,分為基本類型和引用類型。 基本類型對象指的是字元串(String)、數值(Number)、布爾值(Boolean),引用類型對象指的是數組(Array)、對象(Object)、函數(Function)。 這兩類數據的引用有差別。普通對象存 ...
  • /** * 獲取程式包名(本程式包名5.0版本上下都可獲取) * * @return */ public String getTaskPackname() { ActivityManager.RunningAppProcessInfo currentInfo = null; Field field  ...
  • 蘋果在iOS 10開放了系統電話許可權,全新的Callkit框架能夠讓音視頻的第三方應用獲得系統級的通話體驗,本次分享將主要介紹如何應用Callkit框架和一些適配經驗。 ...
  • 這裡是Android性能優化典範第6季的課程學習筆記,從被@知會到有連載更新,這篇學習筆記就一直被惦記著,現在學習記錄分享一下,請多多指教包涵!這次一共才6個小段落,涉及的內容主要有:程式啟動時間性能優化的三個方面:優化activity的創建過程,優化application對象的啟動過程,正確使用啟... ...
  • 在開發的過程中,關於對請求回調數據的處理以及消息提示,我發現了兩個問題: 1.別人都怎麼做的我不知道,但是我看到的,很多人在寫網路請求的時候,不管是自己直接寫的,或者還是直接使用第三方網路框架,在拿到數據的時候,一般都是自己根據返回的數據中,使用約定好的key去解析自己需要的數據,直接使用或者轉換成 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...