Android从raw、assets、SD卡中获取资源文件内容
2013-08-26 20:16
435 查看
先顺带提一下,raw文件夹中的文件会和project一起经过编译,而assets里面的文件不会~~~
另外,SD卡获取文件需要权限哦!
//从res文件夹中的raw 文件夹中获取文件并读取数据
public String getFromRaw(){
String result = "";
try {
InputStream in = getResources().openRawResource(R.raw.data);
//获取文件的字节数
int lenght = in.available();
//创建byte数组
byte[] buffer = new byte[lenght];
//将文件中的数据读到byte数组中
in.read(buffer);
result = EncodingUtils.getString(buffer, "UTF-8");
} 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, "UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
//从SD卡文件夹中获取文件并读取数据
public static String readFileAsString(String filePath) throws IOException {
File f=null;
f= new File(filePath);//这是对应文件路径全名
StringBuffer fileData = new StringBuffer();
InputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(f));
} catch (FileNotFoundException e3) {
e3.printStackTrace();
}
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
char[] buf = new char[1024];
int numRead=0;
while((numRead=reader.read(buf)) != -1){
String readData = String.valueOf(buf, 0, numRead);
fileData.append(readData);
}
reader.close();
return fileData.toString();
}
另外,SD卡获取文件需要权限哦!
//从res文件夹中的raw 文件夹中获取文件并读取数据
public String getFromRaw(){
String result = "";
try {
InputStream in = getResources().openRawResource(R.raw.data);
//获取文件的字节数
int lenght = in.available();
//创建byte数组
byte[] buffer = new byte[lenght];
//将文件中的数据读到byte数组中
in.read(buffer);
result = EncodingUtils.getString(buffer, "UTF-8");
} 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, "UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
//从SD卡文件夹中获取文件并读取数据
public static String readFileAsString(String filePath) throws IOException {
File f=null;
f= new File(filePath);//这是对应文件路径全名
StringBuffer fileData = new StringBuffer();
InputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(f));
} catch (FileNotFoundException e3) {
e3.printStackTrace();
}
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
char[] buf = new char[1024];
int numRead=0;
while((numRead=reader.read(buf)) != -1){
String readData = String.valueOf(buf, 0, numRead);
fileData.append(readData);
}
reader.close();
return fileData.toString();
}
相关文章推荐
- Android进阶:打jar包获取assets中的资源 解决selector XML文件不能解析的问题
- android从资源文件,项目,sd卡获取图片
- android原始资源raw和assets文件读取
- android中拷贝assets下的资源文件到SD卡中(可以超过1M)
- Android中以数据流的形式获取assets文件夹中文件的内容
- android中拷贝assets下的资源文件到SD卡中(可以超过1M)
- Android -- 拷贝assets下的资源文件到SD卡中(可以超过1M)
- Android开发之获取assets文件夹中的数据库内容并写入到SD卡中
- Android中assets目录和raw目录的区别及其中properties资源文件的读取
- android获取raw文件内容
- Android进阶:打jar包获取assets中的资源 解决selector XML文件不能解析的问题
- android中拷贝assets下的资源文件到SD卡中(可以超过1M)
- Android如何获取assets或者raw目录的视频文件路径播放视频
- android项目中如何获取assets下面的文件在SD卡上面的保存路径
- android资源文件(assets and raw) 的读写
- android中拷贝assets下的资源文件到SD卡中(可以超过1M)
- Android资源文件assets和raw的比较
- Android资源文件目录assets和raw
- 如何获取资源文件res/raw或assets目录的Uri
- Android 分割合并文件 assets res/raw 存放资源的限制