android讀取raw文件
『壹』 android中 R.raw.big怎麼創建文件
打開eclipse,找到你的工程,在res文件夾下創建raw文件夾,之後,將視頻或者音頻文件拷貝到raw文件夾中,在程序中引用的時候就可以寫成R.raw.xxx(xxx:視頻或音頻的名稱)
之後你可以查看一下gen 文件夾下得 R.java中是否存在 raw xxx的ID,存在了說明可以在程序中引用了,不存在將上面步驟重來一次!
建議:最好是找個小一點的視頻文件,不然啟動程序會比較慢,因為啟動程序時,eclipse會把視頻文件與程序打包,一起上傳到android模擬器的sdcard中,文件太大上傳會比較慢,所以測試程序時,用個小視頻文件就好!
『貳』 android中如何用InputStreamReader讀取 在raw文件夾中命名為 中文名字.txt 的文本文檔
android解決文件中文編碼問題:(關鍵是在位元組流轉換成字元流的過程中要定義轉換格式gbk,gb2312,UTF-8之類的)
虛擬機到本地主機:
FileInputStream fis = new FileInputStream(文件名);
InputStreamReader isr = new InputStreamReader(fis, "gbk");
BufferedReader br = new BufferedReader(isr);
本地到虛擬機:OutPutStreamWriter osw = new OutPutStreamWriter(文件位元組流,"gbk");
『叄』 關於Android中videoView.setVideoPath(「PATH」)的問題!!!急!!
path 是獲取的路徑,如果你把視頻文件夾寫在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;
}
}
然後 path=RawFileUtils.readFileFromRaw(mContext, resourceId );
『肆』 Android中,raw中文件讀取是亂碼怎麼解決
有的可以刪除,有的不能刪除,盡量別輕易刪除否則系統容易出問題
『伍』 如何在Android開發中對properties文件進行讀取
方法一:因為最終是通過流文件來進行properties文件讀取的,所以很自然,我們想到要將文件放入到assets文件夾或者raw文件夾中了。
例如,我們這里有一個文件——>test.properties,如果放入了assets文件夾中,可以如下打開
Properties pro = new Properties();
InputStream is = context.getAssets().open("test.properties");
pro.load(is);
如果放入到raw文件夾中,可以通過如下方式打開
InputStream is = context.getResources().openRawResource(R.raw.test);
但是,有的時候我們不想獲取android的上下文環境(context),而是像java中標準的方法載入properties文件,那麼我們如何使用呢?請看方法二:
方法二:沒有上下文的載入![推薦方式]
Properties pro = new Properties();
pro.load(FileLoad.class.getResourceAsStream("test.properties"));
其中,FileLoad是該載入方法所在類的類名。test.properties所存放的路徑與FileLoad.java為同一包中。
但是,在android中,當我們打包生成apk後,將apk放入到真正的手機上時,你會找不到test.properties文件,不要驚訝,android中的資源文件是只能存放在assets或者res的子目錄裡面的,程序包中的資源文件編譯後,是會丟失的!那麼是不是我們的第二種方法就沒法使用了? 當然不是,經過實驗發現,將文件放入到assets文件夾里,而在傳入路徑裡面填入文件絕對路徑,還是可以引用該文件的。
代碼:pro.load(FileLoad.class.getResourceAsStream("/assets/test.properties"));
注意:其中工程路徑的根路徑為"/"
『陸』 android程序,R.raw.點不出自己的文件ID
R文件沒有生成自己的id,通常是res目錄下有錯誤。
解決方式:
選擇「eclipse -- myeclipse」的clean,R文件便會出現。
在工程上點擊滑鼠右鍵,選擇「Build Project」,R.java就會回復。這樣在程序中調用R文件指向的資源,也就可以自動補全了。
從別的工程中拷貝一份R文件過來,然後string.xml里隨便改動一下,也可更新R文件。
如果上述步驟都不行。可能是工程本身所引起的錯誤,比如resoure資源中的文件命名,資源文件名稱需要全部小寫。
檢查R文件是否import 錯誤了。
『柒』 android開發,java用gb2321編碼讀取raw文件夾中的中文txt文件,為什麼遇到換行的時候出一個空方框
不同操作系統的換行符是不一樣的
windows是\r\n
linux是\n
mac是\r
你這txt估計是按win的標准吧 android底層是linux 所以會多出一個\r
『捌』 android 如何批量獲取raw文件夾中的文件
也是看到別人寫的,親測有效。
Field[] fields = R.raw.class.getDeclaredFields();
String rawName;
for (int i = 0; i < fields.length; i++) {
rawName = fields[i].getName();
}
fields = null;
rawName就是文件名稱,如果想要id的話可以通過下面的代碼拿到,希望被採納~
rawId = fields[i].getInt(R.raw.class);