package xyz.yhsj.yhutils.io; import java.io.IOException; import java.io.InputStream; import android.content.Context; import android.content.res.AssetManager; import android.graphics.drawable.Drawable; /** * Asset 工具类<br> */ @SuppressWarnings("deprecation") public class AssetUtils { /** * 打开Asset下的文件 * * @param fileName 文件名 * @return */ public static InputStream openAssetFile(Context context, String fileName) { AssetManager am = context.getAssets(); InputStream is = null; try { is = am.open(fileName); } catch (IOException e) { e.printStackTrace(); } return is; } /** * 从assets 文件夹中读取文本数据 */ public static String getTextFromAssets(final Context context, String fileName) { String result = ""; try { InputStream in = context.getResources().getAssets().open(fileName); // 获取文件的字节数 int lenght = in.available(); // 创建byte数组 byte[] buffer = new byte[lenght]; // 将文件中的数据读到byte数组中 in.read(buffer); result = new String(buffer, "UTF-8"); in.close(); } catch (Exception e) { e.printStackTrace(); } return result; } /** * 从assets 文件夹中读取图片 */ public static Drawable loadImageFromAsserts(final Context ctx, String fileName) { try { InputStream is = ctx.getResources().getAssets().open(fileName); return Drawable.createFromStream(is, null); } catch (IOException e) { if (e != null) { e.printStackTrace(); } } catch (OutOfMemoryError e) { if (e != null) { e.printStackTrace(); } } catch (Exception e) { if (e != null) { e.printStackTrace(); } } return null; } }