unity android 判断streamingasset 里有没有文件
展开全部
用Android接口来读取streamingAsset目录 可以提高效率,www方式效率不好 还耗内存。读取byte后直接CreateFromMemory 来创建bundle。其他模式还是CreateFromFile来创建效率更好,memory的方式耗内存,所以大文件还是要拷出来放在file目录 用 CreateFromFile来创建,iOS上全部用CreateFromFile。
public byte[] getFromAssetss(String fileName){ //android里边读取streamingAsset目录的文件
try {
//得到资源中的Raw数据流
InputStream in = getResources().getAssets().open(fileName);
//得到数据的大小
int length = in.available();
byte [] buffer = new byte[length];
//读取数据
in.read(buffer);
//依test.txt的编码类型选择合适的编码,如果不调整会乱码
// res = EncodingUtils.getString(buffer, "BIG5");
//关闭
in.close();
return buffer;
}
catch (Exception e)
{
e.printStackTrace();
return null;
}
}
关于文件读取速度 1 最快的是File目录下的File.readallbytes 其次用上边的接口读取StreamingAssets 目录 最后是WWW方式异步读取StreamingAssets 目录。
public byte[] getFromAssetss(String fileName){ //android里边读取streamingAsset目录的文件
try {
//得到资源中的Raw数据流
InputStream in = getResources().getAssets().open(fileName);
//得到数据的大小
int length = in.available();
byte [] buffer = new byte[length];
//读取数据
in.read(buffer);
//依test.txt的编码类型选择合适的编码,如果不调整会乱码
// res = EncodingUtils.getString(buffer, "BIG5");
//关闭
in.close();
return buffer;
}
catch (Exception e)
{
e.printStackTrace();
return null;
}
}
关于文件读取速度 1 最快的是File目录下的File.readallbytes 其次用上边的接口读取StreamingAssets 目录 最后是WWW方式异步读取StreamingAssets 目录。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询