Android讀取raw文件夾中的內容

jopen 10年前發布 | 55K 次閱讀 Android Android開發 移動開發

raw文件夾是android程序中res目錄下自定義存放靜態文件的一個目錄,和assets一樣不會被編譯為二進制文件,與assets不同的是,該目錄下的文件會被映射到R.java文件中,而且該目錄并不支持多級目錄。
Android官方提供了相應的方法去訪問該文件夾中的內容,故此我們并不需要進行相關的路徑判斷等代碼操作,直接調用相關方法打開文件并得到一個字節輸入流(InputStream);然后通過相應的字符編碼方式讀取字節解碼為字符輸入流(InputStreamReader);再通過 BufferReader對字符輸入流讀取文本并將字符存入緩沖區以便能提供字符、數組和線段的高效讀取;最后我們就能逐行對文件內容進行讀取了。

MainActivity.java
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        try {
            InputStream inputStream = getResources().openRawResource(R.raw.info);
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            String info = "";
            while ((info = bufferedReader.readLine()) != null) {
                Log.i("info", info);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }        
    }

}
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!