Android读取asserts和raw文件夹下的文件
2014-10-29 10:47
274 查看
Android读取asserts和raw文件夹下的文件
经常需要用到读取“/res/raw”和"/asserts"文件夹下的文件,索性写成工具类方便以后使用。
一、raw文件夹下的文件操作工具类:
二、[b][b]asserts文件夹[/b]下的文件操作工具类:[/b]
三、[b][b]实例[/b]:[/b]
经常需要用到读取“/res/raw”和"/asserts"文件夹下的文件,索性写成工具类方便以后使用。
一、raw文件夹下的文件操作工具类:
/** * raw文件夹下的文件处理工具类 * * */ public class RawFileUtils { private RawFileUtils( ){ } /** * 读取raw文件夹下的文件 * @param resourceId raw文件夹下的文件资源ID * @return 文件内容 * * */ public static String readFileFromRaw(Context context, int resourceId) { if( null == context || resourceId < 0 ){ return null; } String result = null; try { InputStream inputStream = context.getResources().openRawResource( resourceId ); // 获取文件的字节数 int length = inputStream.available(); // 创建byte数组 byte[] buffer = new byte[length]; // 将文件中的数据读到byte数组中 inputStream.read(buffer); result = EncodingUtils.getString(buffer, "utf-8"); } catch (Exception e) { e.printStackTrace(); } return result; } }
二、[b][b]asserts文件夹[/b]下的文件操作工具类:[/b]
/** * asserts文件处理 * * */ public class AssertsFileUtils { private AssertsFileUtils( ){ } /** * 读取asserts目录下的文件 * @param fileName eg:"updatelog.txt" * @return 对应文件的内容 * * */ public static String readFileFromAssets(Context context, String fileName) throws IOException, IllegalArgumentException { if (null == context || TextUtils.isEmpty( fileName )){ throw new IllegalArgumentException( "bad arguments!" ); } AssetManager assetManager = context.getAssets(); InputStream input = assetManager.open(fileName); ByteArrayOutputStream output = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int length = 0; while ((length = input.read(buffer)) != -1) { output.write(buffer, 0, length); } output.close(); input.close(); return output.toString(); } /** * 列出Asserts文件夹下的所有文件 * @return asserts目录下的文件名列表 * * */ public static List<String> getAssertsFiles( Context context ) throws IllegalArgumentException{ if( null == context ){ throw new IllegalArgumentException( "bad arguments!" ); } AssetManager assetManager = context.getAssets(); String[] files = null; try { files = assetManager.list(""); } catch (IOException e) { e.printStackTrace( ); } return ( null == files )?null:Arrays.asList( files ); } }
三、[b][b]实例[/b]:[/b]
public class MyActivity extends Activity{ public static final String ENCODING = "UTF-8"; TextView tv1; TextView tv2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tv1 = (TextView)findViewById(R.id.tv1); tv1.setTextColor(Color.RED); tv1.setTextSize(15.0f); tv2 = (TextView)findViewById(R.id.tv2); tv2.setTextColor(Color.RED); tv2.setTextSize(15.0f); tv1.setText(getFromRaw()); tv2.setText(getFromAssets("test2.txt")); } //从resources中的raw 文件夹中获取文件并读取数据 public String getFromRaw(){ String result = ""; try { InputStream in = getResources().openRawResource(R.raw.test1); //获取文件的字节数 int lenght = in.available(); //创建byte数组 byte[] buffer = new byte[lenght]; //将文件中的数据读到byte数组中 in.read(buffer); result = EncodingUtils.getString(buffer, ENCODING); } catch (Exception e) { e.printStackTrace(); } return result; } //从assets 文件夹中获取文件并读取数据 public String getFromAssets(String fileName){ String result = ""; try { InputStream in = getResources().getAssets().open(fileName); //获取文件的字节数 int lenght = in.available(); //创建byte数组 byte[] buffer = new byte[lenght]; //将文件中的数据读到byte数组中 in.read(buffer); result = EncodingUtils.getString(buffer, ENCODING); } catch (Exception e) { e.printStackTrace(); } return result; } }
参考:/article/1564496.html
相关文章推荐
- Android读取asserts和raw文件夹下的文件
- 读取android项目中的文件(可以读取assets文件夹或在res文件夹中raw中的文件)
- 读取android项目中的文件(可以读取assets文件夹或在res文件夹中raw中的文件)
- Android如何读取Raw及assets文件夹中文件的数据信息
- android开发步步为营之54:读取assets,raw文件夹下文件
- Android用流方式读取raw文件夹中的内容(大文件>1M)
- Android 拷贝raw文件夹下面的sqlite数据库文件到SDCard中 然后读取数据库并绑定
- android 播放Raw文件夹下的音乐文件
- 【android】读取/res/raw目录下的文件
- Android 读取资源文件(assets 文件夹 或res文件夹 )下面的文件
- Android读取raw文件夹中的内容
- Android 读取raw下的txt文件
- android从asset文件夹读取文件
- android 读取raw下TXT文件
- Android 私有文件夹 文件的写入与读取
- android读取指定文件夹里的所有文件
- Android 读取工程中raw文件夹(读取文本等)
- android中怎么加载res/raw文件夹下的文件
- Android 私有文件夹 文件的写入与读取
- android从raw里面读取txt文件