`

android中加载assets中的资源文件

 
阅读更多


1.直接读取inputstream流

 

  1. AssetManager assetManager = getAssets();//獲取其輸入流 然後直接讀取這個流  
  2. InputStream inputStream = assetManager.open("1.txt");    

 

 

2.複製asset指定文件到制定地方

 

  1. /** 
  2.      * Copy assets util 
  3.      * @param path The dictionary path 
  4.      * @param filename  The filename 
  5.      * @param context  Your context 
  6.      */  
  7.     public void copyAssets(String path, String filename,Context context) {  
  8.         try {  
  9.   
  10.             File fpath = new File(PATH);  
  11.             if (!fpath.isDirectory()) {  
  12.                 fpath.mkdirs();  
  13.             }  
  14.             AssetManager assetManager = context.getAssets();  
  15.             InputStream inputStream = assetManager.open(filename);  
  16.             FileOutputStream fileOutputStream = new FileOutputStream(PATH  
  17.                     + filename);  
  18.             byte[] buffer = new byte[1024];  
  19.             int read;  
  20.             while ((read = inputStream.read(buffer)) != -1) {  
  21.                 fileOutputStream.write(buffer, 0, read);  
  22.             }  
  23.             inputStream.close();  
  24.             inputStream = null;  
  25.             fileOutputStream.flush();  
  26.             fileOutputStream.close();  
  27.             fileOutputStream = null;  
  28.   
  29.         } catch (Exception e) {  
  30.             // TODO: handle exception  
  31.         }  
  32.     }  

3.複製assets下所有文件到指定地方

 

 

  1. private static void copyAssets(Context context) {//copy Assets的方法    
  2.             
  3.             AssetManager assetManager = context.getAssets();    
  4.             String[] files = null;    
  5.             try {    
  6.                 files = assetManager.list("");    
  7.             } catch (IOException e) {    
  8.         
  9.             }    
  10.             for (int i = 0; i < files.length; i++) {    
  11.                 InputStream in = null;    
  12.                 OutputStream out = null;    
  13.                 try {    
  14.                     if (!(new File(Tips.DATA_PATH + files[i])).exists()) {    
  15.                         in = assetManager.open(files[i]);    
  16.                         out = new FileOutputStream(Tips.DATA_PATH + files[i]);    
  17.                         Tips.copyFile(in, out);    
  18.                         in.close();    
  19.                         in = null;    
  20.                         out.flush();    
  21.                         out.close();    
  22.                         out = null;    
  23.                     }    
  24.                 } catch (Exception e) {    
  25.                 }    
  26.             }    
  27.         }    
  28.         
  29.         public static void copyFile(InputStream in, OutputStream out)    
  30.                 throws IOException {    
  31.             byte[] buffer = new byte[1024];//做了个缓冲流    
  32.             int read;    
  33.             while ((read = in.read(buffer)) != -1) {    
  34.                 out.write(buffer, 0, read);    
  35.             }    
  36.         }    
分享到:
评论

相关推荐

    Android 加载assets文件夹的文本文件 图片

    1. **加载assets中的文本文件** - **创建assets文件夹**:首先,在项目的`src/main`目录下创建一个名为`assets`的文件夹(如果不存在的话)。将所有文本文件放入此文件夹。 - **获取AssetManager**:在需要访问...

    Android 加载assets中的资源文件实例代码

    在Android开发中,有时我们需要将一些非编译的资源文件,如文本、图片或音频等,存储在项目的`assets`目录下,以便在运行时动态加载。`assets`目录允许我们存放任意格式的文件,而不需要经过编译过程。本文将详细...

    Android Assets文件和Raw文件读取

    在Android应用开发中,Assets和Raw文件夹是两个重要的资源存储区域,用于存放非编译的、原始的数据文件。这两个目录都有各自的用途和特点,开发者可以根据需求选择合适的存储位置。 **Android Assets文件** Assets...

    android的assets下的sql文件操作

    在AndroidManifest.xml文件中,确保添加了读写外部存储的权限,即使`assets`中的文件不直接涉及外部存储,但在复制数据库到应用私有目录时可能需要这一权限。 6. **异常处理** 在处理数据库操作时,需要对可能...

    Android 读取raw、assets中的txt文件

    这两个目录都是Android系统提供的特殊存储区域,用于存放非代码的资源文件。下面将详细解释如何在Android中读取raw和assets目录下的txt文件。 1. **raw目录** - raw目录位于`res`文件夹下,通常用于存放音频、视频...

    Android将assets中的zip压缩文件解压到SD卡

    在Android开发中,有时我们需要将应用内部的资源文件,如ZIP压缩文件,解压到外部存储(即SD卡)上,以便用户可以访问或使用这些数据。本文将详细讲解如何实现这一功能,主要涉及Android权限管理、文件操作以及ZIP...

    Unity 在StreamingAssets路径下加载Xml文件

    总结,Unity中在StreamingAssets路径下加载XML文件涉及的关键点有: 1. 使用`Application.streamingAssetsPath`获取路径。 2. 考虑到平台差异,可能需要使用WWW类或AsyncOperation API加载文件。 3. 对于UTF-8编码的...

    Android播放assets文件里视频文件相关问题分析

    2. **引用资源ID**:在代码中引用这个资源文件时,需要使用`R.raw`类,并去掉文件的后缀,如下所示: ```java int videoResourceId = R.raw.my_video_file; ``` 3. **使用VideoView**:VideoView是Android提供的...

    android--imgtest加载assets目录中的图片

    本教程将详细讲解如何在Android应用中加载assets目录下的图片,包括处理`.9.png`图片的编译步骤。 首先,`assets`目录是Android项目中的一个特殊文件夹,位于项目的src/main目录下。它允许开发者放置任意类型的文件...

    【android开发】解析assets文件夹下XML资源文件

    这篇教程主要聚焦于如何从assets文件夹下读取并解析XML资源文件。assets文件夹是Android项目中的一个特殊目录,用于存储应用程序运行时需要的任意文件,如数据文件、配置文件或者非标准格式的资源。 首先,让我们...

    android 使用GIS加载shp文件例子

    总的来说,理解和运用ArcGIS Runtime SDK for Android加载SHP文件不仅有助于提升地图应用的功能性,还能帮助开发者深入理解地理空间数据的处理和展示。在实际开发过程中,根据项目需求,还可以结合其他数据格式(如...

    Unity Android StreamingAssets读图片和读文本事例

    Unity Android StreamingAssets读图片和读文本事例

    android webView加载html 并引用本地资源(图片、字体库)

    在Android中,我们需要在布局XML文件中添加一个WebView元素,并在对应的Activity或Fragment中初始化它: ```xml android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match...

    android 文件读取(assets)

    在Android开发中,`assets`目录是一个特殊的地方,用于存储应用程序需要但不通过SQLite数据库或资源文件系统访问的非结构化数据。这个目录下的文件在编译时会被原封不动地复制到APK中,因此在运行时可以使用`...

    android 从assets获取图片

    与`res`文件夹不同的是,`assets`文件夹中的文件不会被编译,而是以原样打包到APK文件中。这意味着开发者可以在`assets`文件夹中放置任何类型的文件,如文本文件、音频文件、视频文件以及图片文件等。这些文件可以...

    Android读取assets下面文件的代码例子

    在Android开发中,有时我们需要在应用运行时读取资源文件,比如文本、图片或HTML页面。这些文件通常存储在项目的`assets`目录下,因为它们不是Android资源系统的一部分,但仍然需要在运行时访问。本篇文章将深入讲解...

    Android NDK开发动态加载so

    `bin`, `res`, `obj`目录则包含了编译后的二进制文件、资源文件和中间编译产物。`assets`目录通常用于放置非Java原生的资源,但在这里没有提及.so文件,可能需要在项目结构中其他地方查找.so文件。

    Android studio加载本地html的文档问题

    1. **资源文件未找到**:如果加载HTML文件时报错“资源文件未找到”,请检查以下几点: - 确认HTML文件已正确放置在assets文件夹内。 - 检查文件名和路径是否正确无误。 - 确保在代码中使用的URL路径正确。 2. *...

    glide加载网络资源本地资源的demo

    加载Assets目录下的资源,可以使用` Glide.with().load("file:///android_asset/your_image.png")`,其中"your_image.png"是你的图片文件名。 如果要加载本地相册中的图片,通常需要获取用户选择的图片URI,然后...

Global site tag (gtag.js) - Google Analytics