/* * Copyright (c) 2014. Marshal Chen. */ package com.marshalchen.common.commonUtils.fileUtils; import android.content.Context; import com.marshalchen.common.commonUtils.basicUtils.BasicUtils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; /** * ResourceUtils * * @author <a href="http://www.trinea.cn" target="_blank">Trinea</a> 2012-5-26 */ public class ResourceUtils { /** * get an asset using ACCESS_STREAMING mode. This provides access to files that have been bundled with an * application as assets -- that is, files placed in to the "assets" directory. * * @param context * @param fileName The name of the asset to open. This name can be hierarchical. * @return */ public static String getFileFromAssets(Context context, String fileName) { if (context == null || BasicUtils.judgeNotNull(fileName)) { return null; } StringBuilder s = new StringBuilder(""); try { InputStreamReader in = new InputStreamReader(context.getResources().getAssets().open(fileName)); BufferedReader br = new BufferedReader(in); String line; while ((line = br.readLine()) != null) { s.append(line); } return s.toString(); } catch (IOException e) { e.printStackTrace(); return null; } } /** * get content from a raw resource. This can only be used with resources whose value is the name of an asset files * -- that is, it can be used to open drawable, sound, and raw resources; it will fail on string and color * resources. * * @param context * @param resId The resource identifier to open, as generated by the appt tool. * @return */ public static String getFileFromRaw(Context context, int resId) { if (context == null) { return null; } StringBuilder s = new StringBuilder(); try { InputStreamReader in = new InputStreamReader(context.getResources().openRawResource(resId)); BufferedReader br = new BufferedReader(in); String line; while ((line = br.readLine()) != null) { s.append(line); } return s.toString(); } catch (IOException e) { e.printStackTrace(); return null; } } /** * same to {@link com.marshalchen.common.commonUtils.fileUtils.ResourceUtils#getFileFromAssets(android.content.Context, String)}, but return type is List<String> * * @param context * @param fileName * @return */ public static List<String> getFileToListFromAssets(Context context, String fileName) { if (context == null || BasicUtils.judgeNotNull(fileName)) { return null; } List<String> fileContent = new ArrayList<String>(); try { InputStreamReader in = new InputStreamReader(context.getResources().getAssets().open(fileName)); BufferedReader br = new BufferedReader(in); String line; while ((line = br.readLine()) != null) { fileContent.add(line); } br.close(); return fileContent; } catch (IOException e) { e.printStackTrace(); return null; } } /** * same to {@link com.marshalchen.common.commonUtils.fileUtils.ResourceUtils#getFileFromRaw(android.content.Context, int)}, but return type is List<String> * * @param context * @param resId * @return */ public static List<String> getFileToListFromRaw(Context context, int resId) { if (context == null) { return null; } List<String> fileContent = new ArrayList<String>(); BufferedReader reader = null; try { InputStreamReader in = new InputStreamReader(context.getResources().openRawResource(resId)); reader = new BufferedReader(in); String line = null; while ((line = reader.readLine()) != null) { fileContent.add(line); } reader.close(); return fileContent; } catch (IOException e) { e.printStackTrace(); return null; } } }