从assert资源加载图片或者三维的obj输入流:
public static byte[] loadFromAssets(Context context,String picName)
{
byte[] result=null;
try
{
InputStream in=context.getResources().getAssets().open(picName);
int ch=0;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while((ch=in.read())!=-1)
{
baos.write(ch);
}
result=baos.toByteArray();
baos.close();
in.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return result;
}
2.WebView 加载assets目录下的html文件
资源文件 sample.html 位于 $PROJECT_HOME/assets/ 目录下,可以通过以下代码
WebView.loadUrl(“file:///android_asset/sample.html”);
加载html文件。
3.读取图片文件
读取assets/smiley文件夹下的所有图片文件:
smiley_filelist=getResources().getAssets().list(“smiley”);//获取Asset目录下smiley文件下的所有文件名
if(smiley_filelist.length>0){
smiley_icon=new Bitmap[smiley_filelist.length];
for(inti=0;i<;i++){
smiley_icon[i]=getImageFromAssetsFile(“smiley/”+smiley_filelist[i]);
}
}else{
smiley_icon=new Bitmap[0];
}
private Bitmap getImageFromAssetsFile(String fileName)
{
Bitmap image = null;
AssetManager am = getResources().getAssets();
try
{
InputStream is = am.open(fileName);
image = BitmapFactory.decodeStream(is);
is.close();
}
catch (IOException e)
{
e.printStackTrace();
}
return image;
}
需要注意的是,来自Resources和Assets 中的文件只可以读取而不能进行写的操作
(4)从assert读取文本文件
public String getFromAssets(String fileName){
try {
InputStreamReader inputReader = new InputStreamReader( getResources().getAssets().open(fileName) );
BufferedReader bufReader = new BufferedReader(inputReader);
String line="";
String Result="";
while((line = bufReader.readLine()) != null)
Result += line;
return Result;
} catch (Exception e) {
e.printStackTrace();
}
}