1. 程式人生 > >Android中使用assets讀取檔案總結

Android中使用assets讀取檔案總結

今天在做easyEnglishLearning的過程中,因為要讀取本地的sql指令碼,放置在Android目錄下的assets資料夾中,搞了一個晚上一直在讀取的時候發生FileNotFound錯誤,最後終於搞清楚了。

在Android Studio中assets資料夾是不會預設建立的,這和Eclipse不一樣,所以我們就要手工建立這個資料夾就好了。剛開始我是直接右鍵->new->Directory來建立的assets資料夾,誰知道這並不會被AS編譯器獲取。正確的建立方法是在app資料夾上右鍵,選擇new->Floder->Assets Floder,這樣創建出來的assets資料夾才會被AS正確讀取到。

以下是讀取時的程式:

try {
    System.out.println("路徑:"+Configuration.DB_PATH + "/" + schemaName);
    in = new BufferedReader(new InputStreamReader(mContext.getAssets()
            .open(Configuration.DB_PATH + "/" + schemaName)));
    String line;
    String buffer = "";
    while ((line = in.readLine()) != null
) { buffer += line; if (line.trim().endsWith(";")) { db.execSQL(buffer.replace(";", "")); buffer = ""; } } } catch (IOException e) { Log.e("db-error", e.toString()); } finally { try { if (in != null) in.close(); } catch
(IOException e) { Log.e("db-error", e.toString()); } }

相關推薦

Android使用assets讀取檔案總結

今天在做easyEnglishLearning的過程中,因為要讀取本地的sql指令碼,放置在Android目錄下的assets資料夾中,搞了一個晚上一直在讀取的時候發生FileNotFound錯誤,最後終於搞清楚了。 在Android Studio中ass

Android編譯過程總結android各種img檔案的作用以及系統啟動過程

編譯環境:ubuntu 10.04(或者更高)(windows平臺目前不被支援) 本文以編譯android2.3為例,64位作業系統 1、編譯環境的準備  (1)確保安裝有ubuntu系統或者虛擬機器 (2)安裝JDK1.6(對於Android2.3以上程式碼) $ sud

HDFS讀取檔案總結

主要參考Hadoop 1.0.3程式碼 一 HDFS讀取過程概述 1.開啟檔案 1.1客戶端 HDFS開啟檔案時,呼叫DistributedFileSystem.open(Path f, int bufferSize),該方法在DistributedFileSystem.

Android(java)讀取以key=value形式儲存在txt等文字檔案的資料

最近業務上用到了天氣查詢介面,因為輸入源僅有城市名稱,介面需要用到的是城市程式碼,為了實現功能,以key=value形式把全部城市和程式碼持久化到了本地txt檔案。 這是用StringTokenizer(雖然這是一個遺棄類,但是對於小萌新來說還是挺不錯的)做的

androidSharedPreferences 讀取不到數據的問題

由於 ppoe string log 不同的 nbsp bsp edit andro 在兩個不同的 Activity中,A中SharedPreferences保存了數據,在A中可以讀取到,但是在 B中卻讀取不到了,一直是空值,好是不爽,由於是按照書本上的例子寫的, 怎麽

安卓開發筆記(五)——資料儲存SharedPreference以及Android常見的檔案操作方法

中山大學資料科學與計算機學院本科生實驗報告 (2018年秋季學期) 一、實驗題目 個人專案3 資料儲存(一)應用開發 二、實現內容 第九周任務 實驗目的 學習SharedPreference的基本使用。 學習Android中

php fogets讀取檔案

<?php header('content-type:text/html;charset=utf-8'); $file ="1.txt"; if(!file_exists($file)){ die('檔案不存在'); } //檢測檔案是否存在 $str = file_get_

Android外掛開發篇總結和概述

                剛剛終於寫完了外掛開發的最後一篇文章,下面就來總結一下,關於Android中外掛篇從去年的11月份就開始規劃了,主要從三個方面去解讀Android中外掛開發原理。說白了,外掛開發的原理就是:動態載入技術。但是我們在開發外掛的過程中可能會遇到很多問題,所以這裡就分為三篇文章進行解

Android解析讀取複雜word,excel,ppt等的方法

        前段時間在嘗試做一個Android裡的萬能播放器,能播放各種格式的軟體,其中就涉及到了最常用的office軟體。查閱了下資料,發現Android中最傳統的直接解析讀取word,excel的方法主要用了java裡第三方包,比如利用tm-extractors-0

VC怎麼讀取檔案

在VC中檔案操作有三種方式,使用C標準庫,使用WINAPI或使用MFC庫一.C標準庫1.建立開啟檔案fopenFILE *fopen(const char* filename,Const char* mode)//相應有Unicode版本 _wfopenfilename檔名還有基於CRT的安全版本errno_

mybatis的.xml檔案總結--mybatis的動態sql

https://www.cnblogs.com/xiaoxi/p/6406504.html resultMap resultType可以指定pojo將查詢結果對映為pojo,但需要pojo的屬性名和sql查詢的列名一致方可對映成功。 如果sql查詢欄位名和pojo的屬性名不一致,可以通過

Android 的 Service 全面總結

按執行地點分類: 類別 區別  優點 缺點   應用 本地服務(Local) 該服務依附在主程序上,  服務依附在主程序上而不是獨立的程序,這樣在一定程度上節約了資源,另外Local服務因為是

Androidassets目錄和raw目錄的區別和使用情況

能提出這個問題的,應該都瞭解它們的共同點: 它們會被原封不動的拷貝到APK中,而不會像其它資原始檔那樣被編譯成二進位制的形式。 要說區別,當然最直觀的就是獲取它們的InputStream的API不一樣了。 assets:InputStream assets = getAssets().open("xxxx"

Androidxml佈局檔案使用include引入佈局進行復用(解決使用include佈局重疊,顏色設定無效問題)

使用include引入佈局的作用   提取重複的佈局程式碼,方便進行復用 如何使用   比如我們想要線上性佈局中建立三塊需要複用的佈局headview、centerview、butto

python讀取檔案總結

1、匯入模組      import xlrd2、開啟Excel檔案讀取資料       data = xlrd.open_workbook('excelFile.xls')3、路徑可以直接寫xlsPath = r"C:\Users\Administrator\Desktop\Polygon.xls"    

AndroidAssets複製檔案到本地

/***從asset複製檔案到記憶體****/ private void copyByAssetsApk() { new Thread(new Runnable() {

【String.xml】修改Androidstrings.xml檔案, 動態改變資料

有些朋友可能會動態的修改Android中strings.xml檔案中的值,在這裡給大家推薦一種簡單的方法。strings.xml中節點是支援佔位符的,如下所示: <string name="data">整數型:%1$d,浮點型:%2$.2f,字串:%3$s&

Androidstring.xml使用總結

<b></b>加粗字型  <i></i> 斜體字型  <u></u> 給字型加下劃線  \n 換行  \u0020表示空格  \u2026表示省略號  使用&lt;b>和&lt;b>來打印出<b>

Android各類.mk檔案的編寫

LOCAL_PATH:= $(call my-dir)  include $(CLEAR_VARS) LOCAL_STATIC_JAVA_LIBRARIES := xsocket jackson-mapper logging jackson-core javatar lo

Android的Service全面總結(修正過)

1、Service的種類  按執行地點分類: 類別 區別  優點 缺點   應用 本地服務(Local) 該服務依附在主程序上, 服務依附在主程序上而不是獨立的程序,這樣在一定程度上節約了資源,另外Local服務因為是在同一程序因此不需要IPC,也不需要AIDL。相應bindService會方便很多。 主