assert文件夹 设置android_android使用build.xml配置assert文件中不压缩的类型文件

在Android开发中,从assert文件夹读取txt文件时可能会因文件被压缩导致File Not Found错误。Android默认仅对音视频文件不压缩。为避免这个问题,可以在build.xml中配置不压缩txt文件。当应用安装时,aapt会根据文件扩展名决定是否压缩资产文件,如.jpg等不会被压缩。解决方法是在build.xml中指定不压缩txt文件。
摘要由CSDN通过智能技术生成

问题:

在做文本文件读取时,从assert文件中获取文件

getResources().getAssets().openFd("test.txt").getFileDescriptor()

会报错,提示File not Found ,because the file compressed,查找了很多资料,android打包成apk时,在assert文件中,除了音视频文件不压缩外,像txt之类的会进行压缩成zip包,以节约空间,所以getFileDescriptor()时获取不到,

通用都是获取文件流,但在做大文件读取时,最新技术推荐使用java nio中内存映射技术MappedByteBuffer

public void openbook(FileDescriptor fileD) throws IOException {

//book_file = new File(strFilePath);

FileInputStream in=new FileInputStream(fileD);

long lLen = in.available();

m_mbBufLen = (int) lLen;

m_mbBuf =in.getChannel().map(

FileChannel.MapMode.READ_ONLY, 0, lLen);

}

问题参考:

When developing an Android app, any data file, image or XML file (that is, any Resource or Asset) you use is bundled into your ap

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值