关于Android Assets读取文件为File对象

关于Android Assets读取文件为File对象的问题,在Assets里面放置文件,在使用的时候,一般是使用AssetManger对象,open方法获取InputStream,然后进行其他操作.

这里遇到了这样需求,直接把Assets里面文件读取为一个File对象,找了半天,没有找到这样方法,搜索了很久,发现这样是行不通的.是不能直接从asset获取然后直接转换为File对象的,因为asset被存储为apk中,除非你解压Apk文件,一般是不能找到一个Path实例化一个File对象的,这里也有特殊情况,webview可以根据asset的路径加载在asset存放的.html文件:

WebView wv = new WebView(context);

wv.loadUrl("file:///android_asset/help/index.html");

如果需要一个File的时候,需要从新拷贝一份,把File存储在设备上,然后再使用。

public static void writeBytesToFile(InputStream is, File file) throws IOException{

FileOutputStream fos = null;

try {

byte[] data = new byte[2048];

int nbread = 0;

fos = new FileOutputStream(file);

while((nbread=is.read(data))>-1){

fos.write(data,0,nbread);

}

}

catch (Exception ex) {

logger.error("Exception",ex);

}

finally{

if (fos!=null){

fos.close();

}

}

}

或者直接InputStream转换为String,然后执行其他操作.

AssetManager am = getActivity().getAssets();

InputStream inputStream = am.open("chapter1/ObservableVSIterator.java");

String json = null;

try {

int size = inputStream.available();

byte[] buffer = new byte[size];

inputStream.read(buffer);

inputStream.close();

json = new String(buffer, "UTF-8");

} catch (IOException ex) {

ex.printStackTrace();

return null;

}

时刻怀有一颗虔诚之心,乐于分享。知识才更有意义。

本文由 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:

2021/01/12 09:26

android file assets,关于Android Assets读取文件为File对象相关推荐

  1. android 从assets和res中读取文件(转)

    1. 相关文件夹介绍 在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的.assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译, ...

  2. Android从assets和res中读取文件

    1. 相关文件夹介绍 在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的.assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译, ...

  3. android 读取usb 文件,android开发:手机连接电脑读取文件

    满意答案 pretty_102 2013.05.16 采纳率:47%    等级:10 已帮助:967人 展开全部 一.打开手机USB调试模式 打开手机系统设置:[菜单(menu)]->[设置] ...

  4. pytorch构造IterableDataset,流式读取文件夹,文件夹下所有大数据文件,逐个文件!逐行读取!(pytorch Data学习四)

    我有个文件夹,里面有一万个文件,每个文件都是N个T的容量,那么这就需要逐个文件.逐行读取,读取方法如下: 核心:构造IterableDataset IterableDataset需要设置两个东西,一个 ...

  5. C++/Php/Python/Shell 程序按行读取文件或者控制台方法总结。

    C++/Php/Python/Shell 程序按行读取文件或者控制台方法总结. 一.总结 C++/Php/Python/Shell 程序按行读取文件或者控制台(php读取标准输入:$fp = fope ...

  6. electron 读取文件夹内容_如何使用Electron Framework选择,读取,保存,删除或创建文件...

    本文概述 为了处理文件(CRUD)的生命周期, 我们将使用对话框和文件系统组件. 对话框模块提供了用于显示本机系统对话框(例如打开文件或警报)的API, 因此Web应用程序可以提供与本机应用程序和No ...

  7. Golang——文件创建和写入、OpenFile追加写入、Open读取文件、ReadBytes缓冲区读取、os.Args、flag

    Create创建文件: os.Create:文件不存在则创建,文件存在则删除文件中的内容 语法: file:创建文件的指针 err:创建文件出现异常后的信息file, err := os.Create ...

  8. java中打开特定编码的文本_指定编码写入和读取文件内容

    为了完美解决你的问题,特分享我自己的FileKit.java工具给你. 你只需要使用createFile方法,传入一行一个的List对象就可以生成了,目录不存在这些都判断了,只要你的目录可写就行了. ...

  9. java之的读取文件大全

    2019独角兽企业重金招聘Python工程师标准>>> java之的读取文件大全 使用java进行文件读写,因为使用的频率不高,加上写起来也没那么简单,经常容易忘记,然后就得去翻阅以 ...

  10. java读取文件到字符串_Java读取文件到字符串

    java读取文件到字符串 Sometimes while working with files, we need to read the file to String in Java. Today w ...

最新文章

  1. javascript数组集锦
  2. php页面最大执行时间 set_time_limit函数不起作用
  3. 42.虚拟内存如何设置:
  4. 关于ARP、MAC、IP欺骗以及TCP劫持
  5. python入门——条件语句、for、while循环4
  6. 关于mysql的error-based injection payload
  7. linux系统的4个部分,以下是Linux文件系统的4个相关的结构定义中的一部分: Struct i..._考试资料网...
  8. .NET系统架构改造的经验和教训
  9. linux看火狐的安装目录,linux下firefox+geckodriver环境搭建
  10. 算法导论 思考题2-4
  11. 月薪3k和30k的程序员,差距就在这道坎...
  12. 用css实现文本不换行切超出限制时显示省略号(小tips)
  13. Hive 窗口函数lead、lag
  14. access和filemaker_四个替代微软Access的开源产品
  15. python返回类型为anytype_python - Zeep的SOAP请求(Python) - 堆栈内存溢出
  16. html背景音乐自动播放embed,HTML中添加音乐video embed audio
  17. 关于爆仓那些事,出现爆仓就是黑平台?
  18. xlive.dll缺失怎么办
  19. php网页编程,学习掌握动态网页PHP的编程语句
  20. 0057-在OpenCV环境下使用KNN背景建模提取前景目标

热门文章

  1. 霹雳吧啦Wz语义分割学习笔记P7
  2. 计算机Excel运行环境,Excel2007免费完整版 最新电脑版
  3. python生成10个随机密码_python生成10个随机密码
  4. 那些年我们一起追过的稀奇古怪的SQL
  5. 从程序员到项目经理(28):该死的结果导向(只看结果,不问过程到底行不行?)
  6. html怎么唤起虚拟键盘,电脑虚拟键盘怎么打开?电脑虚拟键盘打开五大方法介绍...
  7. JAVA 开发规范
  8. centOS brctl 创建透明网桥
  9. 离开互联网公司的年轻人,按下人生的重启键
  10. Armbian安装Docker之后的100种玩儿法《动态域名解析DDNS自动更新》