編輯:關於Android編程
經常需要用到讀取“/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; } }
/** * 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 ListgetAssertsFiles( 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 ); } }
※效果 ※使用方法 package com.fancyy.calendarweight; import java.util.ArrayList; import j
黑白棋介紹黑白棋,又叫蘋果棋,最早流行於西方國家。游戲通過相互翻轉對方的棋子,最後以棋盤上誰的棋子多來判斷勝負。黑白棋非常易於上手,但精通則需要考慮許多因素,比如角邊這樣
概述:滑動解鎖九宮格的分析:1、需要自定義控件;2、需要重寫事件onTouchEvent();3、需要給九個點設置序號和坐標,這裡用Map類就行;4、需要判斷是否到滑到過
最近項目裡面需要支付功能,boos一致決定用微信支付,所以在網上查了很多資料,說的不全,完了就找以前的同事指教。算是成功集成上去了。在這裡做個總結記錄。1、在APP上集成