原文链接:https://www.zybuluo.com/Tyhj/note/1144629

最近工作中遇到数据从U盘导出的功能,网上找了一下,有个开源的框架可以拿来使用,U盘和内存卡什么的不一样,是用OTG口来连接手机的,有些手机不支持,有些手机支持,U盘格式也有几种,常见的exFAT、FAT32、NTFS,有些手机可能不支持所有格式的U盘,

//导入依赖:

compile 'com.github.mjdev:libaums:0.5.5'

//获取到OTG连接的U盘

public static FileSystem otgGet(Context context) {

UsbMassStorageDevice[] devices = UsbMassStorageDevice.getMassStorageDevices(context);

FileSystem currentFs = null;

for (UsbMassStorageDevice device : devices) {//一般只有一个OTG借口,所以这里只取第一个

try {

device.init();

//如果设备不支持一些格式的U盘,这里会有异常

if (device == null || device.getPartitions() == null ||

device.getPartitions().get(0) == null ||

device.getPartitions().get(0).getFileSystem() == null) {

return null;

}

currentFs = device.getPartitions().get(0).getFileSystem();

Log.e("OTG", "容量: " + currentFs.getCapacity());

Log.e("OTG", "已使用空间: " + currentFs.getOccupiedSpace());

Log.e("OTG", "剩余空间: " + currentFs.getFreeSpace());

Log.e("OTG", "block数目: " + currentFs.getChunkSize());

} catch (Exception e) {

return null;

}

}

return currentFs;

}

//获取根目录

UsbFile root = fileSystem.getRootDirectory();

//获取子文件

UsbFile[] files = root.listFiles();

//创建文件夹

UsbFile newDir = root.createDirectory("record");

//创建文件

UsbFile newFile = newDir.createFile(Util.getSimpleFormatTime() + ".csv");

// 写入文件

OutputStream os = new UsbFileOutputStream(file);

os.write("hello".getBytes());

os.close();

// 读取

InputStream is = new UsbFileInputStream(file);

byte[] buffer = new byte[currentFs.getChunkSize()];

is.read(buffer);

//使用其他方法

OutputStream os = UsbFileStreamFactory.createBufferedOutputStream(file, currentFs);

InputStream is = UsbFileStreamFactory.createBufferedInputStream(file, currentFs);

//最后关闭

device.close();

android tf卡及u盘_在Android中读写U盘相关推荐

  1. android tf卡及u盘_多种TF卡 SSD U盘评测 多图(含ASSSD ATTO测试截图)

    多种TF卡 SSD U盘评测 多图(含ASSSD ATTO测试截图) 匿名用户 2016-11-05 17:00:00 55点赞 289收藏 74评论 小编注:此篇文章来自即可瓜分10万金币,周边好礼 ...

  2. android tf卡及u盘_android8.1系统修改第三方app无法读写U盘或者内部SD卡的问题

    问题:rk3288 8.1系统上,第三方app即使动态申请了读写存储的权限依然不能读写U盘或者TF卡,这是因为第三方app对U盘或者TF卡路径是没有读写权限的,如果要能够读写一种方法是修改app为系统 ...

  3. android tf卡升级版,三星 128GB高速TF卡红色plus升级版开箱简评,顺带对比16G、64G卡...

    三星 128GB高速TF卡红色plus升级版开箱简评,顺带对比16G.64G卡 2018-04-28 18:45:52 3点赞 7收藏 7评论 引子: 对于存储卡来说,我手头上已经有常用的2个,都是三 ...

  4. android 一个字符串分两行显示_【Android】DataBindinglt;中gt;

    DataBindingUtil类 DataBinding不仅可以绑定Activity还可以绑定视图内容(View) // 视图static extends ViewDataBinding> T ...

  5. dmg写入u盘_轻松教大家用U盘安装Mac OS10.14.1双系统

    安装黑苹果常用的引导软件有四叶cao (colover).变色龙(Chameleon)以及Ozmosis,这里选择Colover来为大家演示安装,文章较长,但大多都是演示截图,具体操作其实很简单. 安 ...

  6. lunix remount u盘_【转】转载:U盘版便携式Linux制作, casper-rw 解析

    U盘版便携式Linux制作Posted on 2010/09/23by cloudme 一 直都在想,不管用谁的电脑,我都可以得到一个完全一致的工作环境,上面有我喜爱的软件,有我保存的重要资料,甚至浏 ...

  7. uboot中挂载U盘,利用FAT文件系统读写U盘文件

    关于使用U盘自动更新系统镜像,请看我的这篇博文:http://blog.chinaunix.net/space.php?uid=22030783&do=blog&id=3347599 ...

  8. 金山快盘显示服务器维护中,金山快盘总是显示“正在查找文件变化”无法同步的终极解决方法...

    三好酋长最开始用的同步网盘就是金山快盘,但是从今年春上开始,竟然无法同步了,始终显示"正在查找文件变化",一直显示在那里.如图: 查看详情发现找到的文件变化始终显示为 0 .三好酋 ...

  9. android shell强制删除文件夹_原来手机中的这些文件可以删除,难怪手机越用越卡!...

    很多从 iOS 转移到 Android 生态的用户,总是会有这样的抱怨:Android 系统越用越卡,就算清理垃圾也没用! 但其实在Android系统中,除了日常的清理垃圾,我们还可以将一些没用的文件 ...

最新文章

  1. 顺便发现一bug??
  2. 初学者python编辑器-分享|Mu 入门:一个面向初学者的 Python 编辑器
  3. 023_jdbc-mysql的CRUD操作
  4. Spring 事务基于注解和xml方式
  5. 1、win10下连接本地系统上的Linux操作系统(分别以Nat方式和桥接模式实现)
  6. 家庭接入: dsl 电缆ftth 拨号和卫星_家庭宽带的路由器升级之路
  7. Android多媒体开发-- android中OpenMax的实现整体框架
  8. 前端学习(1864)vue之电商管理系统电商系统之绘制登录表单区域带icon的输入框
  9. python保存模块_Python使用Pickle模块进行数据保存和读取的讲解
  10. 样条曲面_用SolidWorks曲面将六个小圆管向大圆管过渡
  11. 多功能网页刷新助手(刷PV)
  12. 全流程各工程类型地下水环境影响评价【一级】方法与MODFLOW Flex建模技术
  13. 复旦大学邱锡鹏教授带你梳理深度学习知识脉络(直播彩蛋)
  14. 使用python、java语言批量下载抖音中我的视频、我喜欢的视频,解析抖音视频,批量下载抖音...
  15. 用户界面设计有效的人机交互策略_学习笔记
  16. 解决python3+selenium+chromedriver运行时chrome浏览器闪退问题
  17. This system is not registered with an entitlement server.
  18. TIOBE12月编程语言排行榜出炉!Java第一,有人要失业?
  19. 超级记忆法之110数字编码
  20. iNFTnews丨Web3正吸引着全球顶尖人才的目光

热门文章

  1. qq云输入法也支持五笔了,太适合我了,特别是在ubuntu下有时候输入法
  2. 获取excel文件路径的两种方法
  3. 笔记本电脑读取网卡失败
  4. Java数据审计工具:Envers and JaVers比较
  5. zookeeper的安装使用
  6. 模电学习笔记(五)——反相求和电路
  7. 百度网盘下载慢解决办法,最新.浏览器下载速度突破方法
  8. VIO系列 | 视觉与惯性传感器如何融合?来研读VINS-Mono论文与代码
  9. Google所有服务列表
  10. 几个高质量实用的手机APP分享