android tf卡及u盘_在Android中读写U盘
原文链接: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盘相关推荐
- android tf卡及u盘_多种TF卡 SSD U盘评测 多图(含ASSSD ATTO测试截图)
多种TF卡 SSD U盘评测 多图(含ASSSD ATTO测试截图) 匿名用户 2016-11-05 17:00:00 55点赞 289收藏 74评论 小编注:此篇文章来自即可瓜分10万金币,周边好礼 ...
- android tf卡及u盘_android8.1系统修改第三方app无法读写U盘或者内部SD卡的问题
问题:rk3288 8.1系统上,第三方app即使动态申请了读写存储的权限依然不能读写U盘或者TF卡,这是因为第三方app对U盘或者TF卡路径是没有读写权限的,如果要能够读写一种方法是修改app为系统 ...
- android tf卡升级版,三星 128GB高速TF卡红色plus升级版开箱简评,顺带对比16G、64G卡...
三星 128GB高速TF卡红色plus升级版开箱简评,顺带对比16G.64G卡 2018-04-28 18:45:52 3点赞 7收藏 7评论 引子: 对于存储卡来说,我手头上已经有常用的2个,都是三 ...
- android 一个字符串分两行显示_【Android】DataBindinglt;中gt;
DataBindingUtil类 DataBinding不仅可以绑定Activity还可以绑定视图内容(View) // 视图static extends ViewDataBinding> T ...
- dmg写入u盘_轻松教大家用U盘安装Mac OS10.14.1双系统
安装黑苹果常用的引导软件有四叶cao (colover).变色龙(Chameleon)以及Ozmosis,这里选择Colover来为大家演示安装,文章较长,但大多都是演示截图,具体操作其实很简单. 安 ...
- lunix remount u盘_【转】转载:U盘版便携式Linux制作, casper-rw 解析
U盘版便携式Linux制作Posted on 2010/09/23by cloudme 一 直都在想,不管用谁的电脑,我都可以得到一个完全一致的工作环境,上面有我喜爱的软件,有我保存的重要资料,甚至浏 ...
- uboot中挂载U盘,利用FAT文件系统读写U盘文件
关于使用U盘自动更新系统镜像,请看我的这篇博文:http://blog.chinaunix.net/space.php?uid=22030783&do=blog&id=3347599 ...
- 金山快盘显示服务器维护中,金山快盘总是显示“正在查找文件变化”无法同步的终极解决方法...
三好酋长最开始用的同步网盘就是金山快盘,但是从今年春上开始,竟然无法同步了,始终显示"正在查找文件变化",一直显示在那里.如图: 查看详情发现找到的文件变化始终显示为 0 .三好酋 ...
- android shell强制删除文件夹_原来手机中的这些文件可以删除,难怪手机越用越卡!...
很多从 iOS 转移到 Android 生态的用户,总是会有这样的抱怨:Android 系统越用越卡,就算清理垃圾也没用! 但其实在Android系统中,除了日常的清理垃圾,我们还可以将一些没用的文件 ...
最新文章
- 顺便发现一bug??
- 初学者python编辑器-分享|Mu 入门:一个面向初学者的 Python 编辑器
- 023_jdbc-mysql的CRUD操作
- Spring 事务基于注解和xml方式
- 1、win10下连接本地系统上的Linux操作系统(分别以Nat方式和桥接模式实现)
- 家庭接入: dsl 电缆ftth 拨号和卫星_家庭宽带的路由器升级之路
- Android多媒体开发-- android中OpenMax的实现整体框架
- 前端学习(1864)vue之电商管理系统电商系统之绘制登录表单区域带icon的输入框
- python保存模块_Python使用Pickle模块进行数据保存和读取的讲解
- 样条曲面_用SolidWorks曲面将六个小圆管向大圆管过渡
- 多功能网页刷新助手(刷PV)
- 全流程各工程类型地下水环境影响评价【一级】方法与MODFLOW Flex建模技术
- 复旦大学邱锡鹏教授带你梳理深度学习知识脉络(直播彩蛋)
- 使用python、java语言批量下载抖音中我的视频、我喜欢的视频,解析抖音视频,批量下载抖音...
- 用户界面设计有效的人机交互策略_学习笔记
- 解决python3+selenium+chromedriver运行时chrome浏览器闪退问题
- This system is not registered with an entitlement server.
- TIOBE12月编程语言排行榜出炉!Java第一,有人要失业?
- 超级记忆法之110数字编码
- iNFTnews丨Web3正吸引着全球顶尖人才的目光