关于通过uri获取文件的大小

Android如何通过URI获取文件路径示例代码 主要给大家介绍了关于Android如何通过URI获取文件路径的相关资料,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。 立即下载

这个问题是在写手机 短信功能 通过短信来分享联系人的时候遇见的。

过程是在联系人中选择多个联系人,然后生成一个Vcard。将这个Vcard通过彩信来发送给别人。



短信中的处理是得到这个Vcard的URI。我要做的是在对Vcard操作之前,先判断它的大小,手机的彩信最大有一个MAX。

我查找的资料很多都是通过Cursor找到patch,并通过patch得到文件,然后得到文件的大小。但是不知到这个Vcard在数据库中的的参数,用cursor查找起来有些困难。

 InputStream input = context.getContentResolver().openInputStream(uri);
int size = input.available();

这样就得到大小了。



available

public int available()
              throws IOException
返回此输入流下一个方法调用可以不受阻塞地从此输入流读取(或跳过)的估计字节数。下一个调用可能是同一个线程,也可能是另一个线程。一次读取或跳过此估计数个字节不会受阻塞,但读取或跳过的字节数可能小于该数。

注意,有些 InputStream 的实现将返回流中的字节总数,但也有很多实现不会这样做。试图使用此方法的返回值分配缓冲区,以保存此流所有数据的做法是不正确的。

如果已经调用 close() 方法关闭了此输入流,那么此方法的子类实现可以选择抛出 IOException。

类 InputStream 的 available 方法总是返回 0。

此方法应该由子类重写。

 


返回:
可以不受阻塞地从此输入流读取(或跳过)的估计字节数;如果到达输入流末尾,则返回 0。
抛出:
IOException - 如果发生 I/O 错误。


而且通过查看源码应该是通过文件描述符获取文件的总大小,而并不是事先将磁盘上的文件数据全部读入流中,再获取文件总大小。

适配android7.0获取文件的Uri的方法 本篇文章主要介绍了适配android7.0获取文件的Uri的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 立即下载

相关推荐

提升RAG效果:为何 JSON 格式远胜 Markdown?

在构建强大的 RAG (检索增强生成) 系统时,文档解析是至关重要的第一步。它直接影响着后续的检索效率和生成质量。在众多文档格式中,JSON (JavaScript Object Notation) 格式正逐渐展现出其相对于传统 Markdown 格式的巨大优势。本文将深入探讨 JSON 在 RAG 系统文档解析中的卓越之处,并结合具体案例,让你理解为何 JSON 才是构建下一代智能应用的更优选择。RAG 系统的核心目标是让模型能够利用外部知识库,生成更精准、更贴合实际的答案。

simoncool23的博客 2718

android 通过uri获取文件大小,uri获取文件长度

通过uri获取文件大小有两种方法,一种是通过FileDescriptor获取 fun length(context: Context, uri: Uri): Long = when (uri.scheme) { ContentResolver.SCHEME_FILE -> File(uri.path).length() ContentResolver.SCHEME_CONTENT -> try {

jingzz1的博客 4996

别再混淆了!5分钟搞懂机器人导纳控制与阻抗控制的本质区别(附Simulink对比仿真)

本文深入解析机器人柔顺控制中的导纳控制与阻抗控制的本质区别,通过信号流方向、架构对比和应用场景三个关键视角进行详细阐述。文章还提供Simulink对比仿真案例,帮助读者快速理解两种控制策略的差异及其适用场景,特别适合机器人控制领域的研究者和工程师参考。

weixin_42543046的博客 604

java url文件大小,如何在java中从URL计算文件大小

I'm attempting to get a bunch of pdf links from a web service and I want to give the user the file size of each link.Is there a way to accomplish this task?Thanks解决方案Using a HEAD request, you can do s...

weixin_30737081的博客 544

【EB_Tresos专题】-06-配置一个UDS诊断DID

<--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> <--返回「个人博客」首页--> <--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> <--返回「个人博客」首页--> 结尾 ...

「汽车电子助手」的博客 4085

电子电气架构 --- 整车电源管理

保证启动能力:防止因电池电量耗尽而导致的车辆无法启动,这对于确保车辆在任何时候都能可靠运行至关重要。 延长电池寿命:通过避免电池深度放电,有助于延长其使用寿命,减少更换电池的需求和成本。 提升用户体验:虽然负载被关闭可能会暂时影响舒适度,但通过在必要时自动采取行动,可以减少驾驶员的焦虑和不确定性,提高整体的用户满意度。

Soly_kun的博客 1084

Android文件大小计算

获取文件大小方法:1、file.length()方法,类型long Byte。支持大文件(9223372036854775807),文件大小不准。2、fileInputStream.available()方法,类型int,最大(1.99GB),大文件返回0。文件大小准确3、java.nio.*下的FileChannel,支持大文件,文件大小准确。建议使用java.nio.*的FileChannel或者:建议1.99G内的文件使用fileInputStream.available()

wenql209的博客 2234

基于DNN神经网络的多输入多输出数据回归预测(附带Matlab代码)

假设我们的输入数据包含n个特征,输出数据包含m个特征。在本文中,我们将介绍如何使用DNN(深度神经网络)实现多输入多输出数据回归预测,并提供相应的Matlab代码。需要注意的是,上述代码中的DNN模型是一个简化的示例,您可以根据实际任务的复杂程度和要求进行相应的调整和优化。综上所述,我们介绍了如何使用DNN神经网络实现多输入多输出数据回归预测,并提供了相应的Matlab代码。函数对DNN模型进行训练,其中输入数据需要转置,以适应网络的输入要求。最后,我们使用训练好的模型对测试数据进行预测,并打印预测结果。

DevWizard的博客 1068

根据文件下载链接地址获取文件的大小

根据网络文件的下载链接地址,获取文件的大小直接上代码(记住要关闭相关的流) /** * 根据地址获得数据的字节流并转换成大小 * @param strUrl 网络连接地址 * @return */ public static String getFileSizeByUrl(String strUrl){ InputStream inStream=null; By

好好学习,天天向上 6000

zemax像差参数Ray Fan/Spot Diagram/MTF/....讲解三

zemax像差参数Ray Fan/Spot Diagram/MTF/....讲解三

weixin_72050316的博客 1386

YOLOv11改进 - C3k2融合 | C3k2融合融合WDBB宽度多样分支模块(Width Diverse Branch Block)通过多尺度分支增强特征表征能力

本文着眼于灰度图像目标检测所面临的挑战,提出了增强型目标检测网络 YOLO - MIF,该网络整合了多种多信息融合策略以对 YOLOv8 网络进行改进。文章开篇介绍了一种可创建伪多通道灰度图像的技术,此技术能增加网络的通道信息,同时缓解潜在的图像噪声与虚焦模糊问题。随后运用网络结构重新参数化技术,在不增加推断时间的情况下提升网络的检测性能。此外,引入了一种新颖的解耦式检测头,增强了模型处理灰度图像时的表现能力。

魔改工程师的博客 770

根据路径或url获取文件名和文件大小

获取文件大小

huan1213858的博客 3699

C++面试八股文

和静态多态(又称编译期多态,即在系统编译期间就可以确定程序将要执行哪个函数),其中动态多态是通过虚函数实现的,虚函数是类的成员函数,存在存储虚函数指针的表叫做虚函数表,虚函数表是一个存储类成员虚函数的指针,每个指针都指向调用它的地方,当子类调用虚函数时,就会去虚表里面找自己对应的函数指针,从而实现“谁调用、实现谁”从而实现多态。而C++符号表中的符号不是以函数名命名的,称为函数名修饰规则,虽然函数名相同,但是函数参数等其他属性不同,取的符号也不同,所以不会产生查询歧义的问题,使得函数可以重载。

qq_46676829的博客 905

phonegap 通过URI获取文件大小

window.resolveLocalFileSystemURI(imageURI, function(fileEntry) { fileEntry.file(function(fileObj) { console.log("Size = " + fileObj.size); }); }); 麻烦的要命 FIle对象也不...

aimaihui6979的博客 122

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

android获取文件大小,如何正确获取android.net.Uri的文件大小?

我有一个android.net.Uri指向我需要确定文件大小的文件.目前,这是通过对contentResolver的查询来完成的(我正在使用Xamarin,所以它是C#):var cursor = contentResolver.Query(uri, new string[] {Android.Provider.OpenableColumns.Size,Android.Provider.Opena...

weixin_36310396的博客 707

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

图片压缩和Uri与String类型的路径转换,获取图片,文件大小的工具类:

图片压缩和路径转换,获取图片,文件大小的工具类: 知道图片路径 Uri 转换为 String 路径 对图片进行压缩并且命名存储到指定的路径targetPath 根据路径获得图片信息并按比例压缩,返回bitmap 调用此方法自动计算指定文件或指定文件夹的大小 获取指定文件大小 转换文件大小 旋转照片 将图片路径Uri所表示的图片转换成指定大小的照片显示出来

an13531829360的博客 1542

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Android之图片压缩和Uri与String类型的路径转换,获取图片,文件大小的工具类

转自:http://www.jianshu.com/p/ad2d020ef017?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq 图片压缩和路径转换,获取图片,文件大小的工具类: 知道图片路径 Uri 转换为 String 路径 对图片进行压缩并且命名存储到指定的路径targetPat

多多爸比的博客 1623

Gallery图片库获取到图片之后如何通过Uri获取到片图路径

data.getData()返回的是Uri,例如 “content://media/external/images/media/757”怎么变成文件路径啊 Uri uri = data.getData();        Cursor cursor = getContentResolver().query(uri, null, null, null...

lh200808的专栏 162

android根据uri或文件绝对路径获取文件基本信息

//有需求,于是研究一下 在文件读取操作中,很容易能从回调intent传递的数据中获取文件uri,从而通过uri获取文件绝对路径, Uri uri = intent.getDataString(); 读取到uri后,如果文件为图片,则可通过 String[] proj = { MediaColumns.DATA }; // 好像是android多媒体数据库的封装接口,具体的看

bukem001的专栏 3675

文件操作-获取文件Uri,获取缩略图

文件操作

weixin_45926998的博客 363

和其他App分享文件(4)获取文件信息

获取文件MIME类型 ... /* * Get the file's content URI from the incoming Intent, then * get the file's MIME type */ Uri returnUri = returnIntent.getData(); String mimeType = getCo

趁着年轻,多学学 555

如何在7.0以上读取FileProvider提供的URI

从Android7.0开始,安卓系统禁止应用间分享file开头的URI,并提供了FileProvider作为标准的应用间文件分享方式。 关于FileProvider有很多的文章都有讲解,主要说的是FileProvider用法,如何来替代Uri.fromFile(file)。通过FileProvider分享的URI类似这样的content://com.armp.axplor.fileprovider...

momo_ibeike的博客 2907

c语言ftp获取服务器上文件大小,如何获取FTP服务器上的文件大小?

你好,你可以尝试使用如下方法:''' ''' This function will return a value indicating the size (bytes) of a file on a remote server using FTP.''' ''' A URI for this particular server and filename.''' Network credentia...

weixin_42347357的博客 676
上一篇: Android横屏竖屏判断--全屏设置--取屏幕宽高
下一篇: 关于Android 为从右向左字串拼接 "\u200f"
D调的忧伤
博客等级 码龄14年 2粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值