文件管理器_文件管理器下载 - CSDN
  • 一款最好用的windows文件管理器

    万次阅读 2019-11-15 21:13:28
    一款windows文件管理神器,让你文件管理效率提高百倍,省出一个年假

    作者:小碗汤,一位热爱、认真写作的小伙,目前维护原创公众号:『我的小碗汤』,专注于写golang、docker、kubernetes等知识等提升硬实力的文章,期待你的关注。 转载说明:务必注明来源(注明:来源于公众号:我的小碗汤, 作者:小碗汤)

    正文

    在日常生活或工作中,除了一些文本编辑工具以及网页浏览器以外,我们接触的最多的可能就是资源管理器了。资源管理器软件有很多。如:

    Clover 、QTTabBar、FreeCommander、WindowsTabs、Q-Dir、Total Commander等

    之前一直用Clover,它 是 Windows Explorer 资源管理器的一个扩展,为其增加类似谷歌 Chrome 浏览器的多标签页功能。但这款软件久无更新,且存在的问题让人用着很不爽:在win10下打开窗口会经常崩溃或反映迟钝或卡机失去响应,而且在底部增加了广告条,美名其曰“状态栏”,更是在书签里都放上了淘宝京东的推广链接。本来做的挺好的一款软件被糟蹋成这样,果断寻找了替代品XYplorer 。

    XYplorer 是一款资源管理器增强工具,提供多面板操作、将程序固定至任务栏、快捷文件新建等不常见的高效功能。XYplorer 凭借其强大性能以及对中文的友好支持,在中国用户之间有着非常高的传播度,其主要功能:

    • 1、多标签支持

    • 2、强制只能运行一个实例

    • 3、支持快捷键操作(ctrl+T)

    如果你有大量文件管理需求,建议你可以对比官网进行深度探索;如果你只是找一款clover的替代者,它会让你用得很舒爽,流畅性没得说。

    下面介绍几个吸引我的点…

    双屏多标签:

    一般的文件管理器要么是只有双面板,要么是只有多标签,而XYplorer做到了真正的双面板多标签,在整理大量文件时实在是利器,即使不慎关闭不必担心,XYplorer 将为您记忆上次打开的所有标签以及双面板状态。

    在这里插入图片描述

    自动计算文件夹大小:

    以往要用专门的软件或插件才能做到,而XYplorer原生即可计算,相当方便,而且速度非常快!(最牛X的是还能自定义文件夹大小的单位!)

    在这里插入图片描述

    文件筛选:

    XYplorer 还同时提供了强大的文件筛选工具并支持用户自行设定的文件类型 (单种或多种拓展名),其将为您筛选并显示某一或数个类型的所有文件以方便您进行批量操作。

    在这里插入图片描述

    自定义命令:

    在平日整理文件时可能经常需要将某些类型的文件移动至某个文件夹,通过定义 XYplorer 用户命令,您可以先使用筛选工具选择您所需要处理的文件然后按下所定义的快捷键即可将文件备份、移动至指定文件夹,亦可对其路径进行自定义,例如按时间、按长度、按数量等方式建立文件夹等等。您可以单击动作后的技巧找到所有的可代替值,例如时间、路径、长度等。

    在这里插入图片描述

    文件查找:

    加速查找文件的速度,比windows自带的查找功能流畅速度快,好用不卡。
    在这里插入图片描述

    批量重命名:

    在这里插入图片描述

    以上便是吸引我的点,而且我现在只用了不到20%的功能(对比官方的feature list),可想而知这个软件可定制度相当高,在日后工作中慢慢体会它的强大之处。


    作者简洁

    作者:小碗汤,一位热爱、认真写作的小伙,目前维护原创公众号:『我的小碗汤』,专注于写golang、docker、kubernetes等知识等提升硬实力的文章,期待你的关注。转载说明:务必注明来源(注明:来源于公众号:我的小碗汤,作者:小碗汤)

    展开全文
  • 此工具,根据同事的需要开发的一款简单小工具,对于从事文秘,及文档管理需要多种分类的人员必备。特色支持文件的多标签定义。目录节点加密,快速找到自已所需的文件!软件需要.net2.0环境支持
  • 经常有朋友在使用一些没有带文件管理器的空间时,苦于没有办法来解压上传的文件压缩包,而如果不先上传压缩包,直接上传文件夹的话耗费的时间太多。还有一些朋友希望将空间变成一个文件存储站,这时就需要一个功能...

    免费的在线Web文件管理器:Net2FTP,Pydio,eXtplorer,KodExplorer–功能强大

    经常有朋友在使用一些没有带文件管理器的空间时,苦于没有办法来解压上传的文件压缩包,而如果不先上传压缩包,直接上传文件夹的话耗费的时间太多。还有一些朋友希望将空间变成一个文件存储站,这时就需要一个功能足够多也足够强大的在线文件管理器了。

    在线的Web文件管理器非常地多,尤其是以PHP在线文件管理器最多,但是真正能够满足我们的文件管理需求同时也容易安装和使用的Web文件管理器不是很多。本篇文章部落就精选四个界面友好、功能丰富和安装方便的Web文件管理器:net2ftp、Pydio、eXtplorer、KodExplorer。

    Net2FTP相信多数人都曾经用过它,很多的免费空间就采用了Net2FTP,只要有浏览器,不必装任何客户端就可以随时进行文件的上传和下载服务,界面十分清爽简洁,带有多国语言,还有很多特色功能。另外Net2FTP官网也就是一个公共的FTP在线管理文件平台,通过Net2FTP官网可以上传文件到你的空间上。

    Pydio,前身是AjaXplorer ,基于Web技术,有着Ajax、漂亮的UI,有类似本地资源管理器的操作习惯,支持多种访问方式,随处管理文件:网页、移动设备(IOS、Android),还支持PHP Command,支持本地文件管理以及第三方服务。Pydio已经不再是一个简单的在线文件管理器,实际上与OwnCloud一样可以搭建私人云了。

    eXtplorer一直是sourceforge空间上的一个开源项目,基于PHP与ExtJS开发的文件管理器,你可以用它浏览服务器上的文件与目录。编辑,复制,移动,删除文件。创建新的文件和目录。改变文件的权限属性功能强大,界面友好,是一个不可多得的PHP在线Web文件管理器。

    KodExplorer是国人开发的一款在线Web文件管理器,具备了完备的文件管理功能,浏览器端享受本地化的体验,强大的在线文件编辑器,对中文支持良好,KodExplorer实际是一个在线Web操作系统,支持在线管理图片、播放音乐视频、编辑和查看文件等,类似于个人Web云存储。

    免费的在线Web文件管理器:Net2FTP,Pydio,eXtplorer,VEFTP、AMFTP、KodExplorer–功能强大

    一、经典和可远程FTP-Net2FTP安装与使用

    1、Net2FTP官网:

    官方网站:http://www.net2ftp.com/

    2、直接下载Net2FTP程序包,解压然后上传到空间上,用浏览器打开Net2FTP路径,就可以访问Net2FTP了。输入你的FTP服务器账号和密码就可以登录Net2FTP管理空间的文件了。(点击放大)

    Net2FTP在线安装

    3、这是Net2FTP的Web文件在线管理界面,界面简洁,有简体中文等多种语言,Net2FTP显示的文件范围取决于你的FTP账户的权限,如果你的FTP账户只限于某一个Web目录,则Net2FTP也只显示该目录下的文件。(点击放大)

    Net2FTP管理界面

    4、Net2FTP可以直接复制、删除、编辑、移动和解压缩文件。

    Net2FTP复制移动

    5、Net2FTP提供了强大的在线文件编辑器,可以直接在线编辑和修改文件,保存后文件自动上传到空间上。

    Net2FTP在线编辑文件

    6、现在Net2FTP已经提供了手机界面,直接在Net2FTP点击切换。

    Net2FTP切换手机版本

    7、Net2FTP手机版本界面非常适合手机上使用Net2FTP。

    Net2FTP适合手机使用

     

    二、个人云存储平台-Pydio安装与使用

    1、Pydio官网:

    官方网站:https://pyd.io/

    2、下载Pydio程序包,解压,然后将Pydio文件上传到空间上,用浏览器打开就会看到安装界面了,首先你会看到Pydio检测结果,PHP版本要求是5.3以上,Pydio下的Data目录及其子目录都要求读写权限,否则会报错。

    Pydio安装

    3、另外Pydio要安装 mcrypt 扩展,没有安装的朋友,如果是你自己的VPS,执行:yum install libmcrypt libmcrypt-devel mcrypt mhash,如果你用的是虚拟主机,则需要联系你的主机商帮助安装。

    Pydio安装相关的扩展

    4、检测通过后,你就可以开始安装Pydio了,选择简体中文。(如果你想跳过最开始的错误检测,直接打开Pydio的路径:http://xxx.com/pydio/index.php?ignore_tests=true)

    Pydio使用浏览器打开

    5、选择为Pydio设置一个管理员账号和密码。

    Pydio设置管理员账号

    6、然后是设置Pydio名称和描述等基本人信息。

    Pydio设置描述信息

    7、Pydio安装时可以选择MysqL数据库和无数据库两种模式,选择用MysqL数据库的适合多人用户或者企业用户,无数据库安装则简单一些。

    Pydio使用数据库

    8、设置完成后,就可以点击开始安装Pydio了。

    Pydio点击开始安装

    9、这是Pydio的在线文件管理平台,界面清爽友好,全站Ajax,可以自由拖动。(点击放大)

    Pydio管理平台界面

    10、Pydio可以直接在线编辑、移动、删除、解压缩文件,支持鼠标右键操作。

    Pydio右键快捷操作

    11、Pydio对于图片、音乐、视频等文件可以直接在线查看和播放。(点击放大)

    Pydio直接在线查看

    12、在线体验,可访问:http://demo.pyd.io/

     

    三、开源免费文件管理器-eXtplorer安装与使用

    1、eXtplorer官网:

    官方网站:http://extplorer.sourceforge.net/

    2、下载eXtplorer程序包,解压将eXtplorer上传到空间上,有两点要注意,在eXtplorer程序包中还有一个scripts.tar.gz压缩包,也需要将它解压,另一个是要将/extplorer/ftp_tmp设置为可读写。

    3、直接用浏览器打开eXtplorer路径,使用默认的账号和密码Admin登录。

    eXtplorer在线访问

    4、进入到eXtplorer第一件事情就是要将eXtplorer默认的账号和密码修改。

    eXtplorer修改密码

    5、这是eXtplorer在线Web文件管理器界面,像极了Windows的资源管理器。(点击放大)

    eXtplorer资源管理界面

    6、eXtplorer可以在线编辑、查看、移动、复制、解压缩文件,直接右击鼠标可以操作。

    eXtplorer复制重命名

    7、eXtplorer也自带了多个文件编辑器。

    eXtplorer文件管理器

     

    四、类windows经典用户界面-KODExplorer使用

    1、KODExplorer官网:

    官方网站:http://kalcaddle.com/

    2、KODExplorer可以用于在线编辑、压缩备份、部署,经典windows界面操作,上手容易,搭建个人私有云,管理网盘资源,同样经典windows界面操作,可以就地浏览网盘音乐、视屏文件,上传下载快捷方便。

    3、直接上传KODExplorer程序包到空间上,设置data目录读写权限,打开浏览器,使用默认的账号和密码:admin/admin登陆。这是KODExplorer文件管理器界面。(点击放大)

    KodExplorer使用界面

    4、KODExplorer可以方便地对文件进行编辑、删除、复制、解压缩等。

    KodExplorer复制剪切

    5、KODExplorer不仅是一个文件在线管理器,更是一个在线个人Web云系统,类似于WebQQ。(点击放大)

    KodExplorer在线管理系统

    6、KODExplorer可以在线播放音乐、视频,还提供了丰富了界面切换效果,十分漂亮。

    KodExplorer在线播放音乐

    五、Net2FTP、Pydio、EXtplorer、KodExplorer对比

    1、上手操作。Net2FTP和eXtplorer,KodExplorer上传程序后就可以直接使用,而Pydio还需要安装,且Pydio对PHP空间要求比较高。

    免费的在线Web文件管理器上手操作对比

    2、兼容应用。在这四个Web文件管理器中,Net2FTP和Pydio对手机支持比较好,特别是Net2FTP可以远程管理FTP服务器上的文件。

    3、用户体验。Pydio和KodExplorer界面设计得漂亮,功能也非常地多,查看图片和播放音乐视频等也非常地方便,还可以多用户共享操作。

    免费的在线Web文件管理器多用户操作

    六、免费的在线Web文件管理器使用小结

    1、如果是在给自己的空间找一个文件管理器,Net2FTP和eXtplorer是最合适不过了,安装简单,直接上传程序就可以使用,功能强大,FTP的文件管理功能都已经具备了。

    2、如果是想给在自己的空间上搭建一个个人文件存储管理平台,那么Pydio和KodExplorer比适合了,尤其是KodExplorer对中文支持较好,还添加了不少的实用功能。

    七、VEFTP---VestaCP专用在线文件管理系统

    话说昨天有发布一款。但是,各方面做的都不是很如意!在加上论坛现在还暂时无法打开。所以,基本上是废弃的。
    今天优化了一些地方。再次发布出来。重申:基于AMFTP优化修改!

          登录界面直接iframe了一个html页面,方便告知最新版本和发布重要公告。不喜欢的,你可以去掉。但是,无法保证即时获取到最新的信息。保留的也请放心,不会添加任何广告。只是很简单的文字html页!

    Install 安装方法:
    在VestaCP服务器中的任何一个空间中,把VEFTP上传上去!
    访问空间即可使用!
     VEFTP.zip (225.7 KB, 下载次数: 495) 

    演示地址:http://106.186.126.185:8080/(使用VestaCP免费空间的,可以直接使用此页面管理文件)
         

    八、

    景安免费FTP在线管理工具

    景安免费FTP在线管理工具

    景安FTP在线工具

    • 酷站名称:景安FTP在线工具
    • 是否免费:免费
    • 支持语言:简体中文
    • 地点位置:国内

    由景安出品的一款免费FTP在线管理工具,完全中文界面,使用也非常简单,可以方便不时之需。

    jingan

     

    登录之后,可以使用以下功能:

    浏览FTP服务器登录之后,您可以浏览所有子目录和文件.

    上传文件有3种不同的方法将文件上传:普通上传,上传后自动解压缩,利用Java Applet上传(Java Applet上传暂不提供).

    下载文件点击文件名可直接下载如果选择多个文件,则会将文件进行压缩后进行下载.

    在线压缩可以将文件/文件夹压缩后保留在FTP上,或者通过邮件发送给其他人.

    在线解压可以解压的文件类型: .zip, .tar, .tgz and .gz.复制,移动及删除可以对文件/文件夹进行复制,移动或删除操作.复制或剪切文件到另外一台FTP服务器导入文件到您的FTP服务器,或从您的FTP服务器导出文件到其他的FTP服务器.

    重命名,权限管理可以对文件/目录进行重命名及权限修改操作(权限管理只对Linux主机有效).

    在线文本编辑从浏览器中编辑文本,每次保存更改的新文件传输到FTP服务器.

    根据单词或短语进行搜索根据单词或短语与文件/目录名称进行匹配搜索.

    计算占用空间计算文件/目录占用的空间大小.


    另外:有赞助服务器的吗???求赞助啊!!!
    附录:10个开源的基于WEB的文件管理器 - 51CTO.COMhttp://os.51cto.com/art/201402/430231.htm
    文件管理器 - 开源软件库 - 开源中国社区 http://www.oschina.net/project/tag/193/filemanager

    展开全文
  • 1. 模仿Windows的文件资源管理器对本机的文件目录树的显示,对文件目录进行查看和浏览,用地址栏、文件目录树、打开文件夹等方法都可以在文件目录之间进行跳转 2. 对文件的基本操作:打开、删除、批量删除、重命名、...
  • 推荐一款最好用的windows文件管理器

    万次阅读 2018-08-20 14:53:13
    在日常生活或工作中,除了一些文本编辑工具以及网页浏览器以外,我们接触的最多的可能就是资源管理器了。资源管理器软件有很多。如:   Clover 、QTTabBar、FreeCommander、WindowsTabs、Q-Dir、Total Commander...

    在日常生活或工作中,除了一些文本编辑工具以及网页浏览器以外,我们接触的最多的可能就是资源管理器了。资源管理器软件有很多。如:

     

    Clover 、QTTabBar、FreeCommander、WindowsTabs、Q-Dir、Total Commander等

     

    之前一直用Clover,它 是 Windows Explorer 资源管理器的一个扩展,为其增加类似谷歌 Chrome 浏览器的多标签页功能。但这款软件久无更新,且存在的问题让人用着很不爽:在win10下打开窗口会经常崩溃或反映迟钝或卡机失去响应,而且在底部增加了广告条,美名其曰“状态栏”,更是在书签里都放上了淘宝京东的推广链接。本来做的挺好的一款软件被糟蹋成这样,果断寻找了替代品XYplorer 。

     

    XYplorer 是一款资源管理器增强工具,提供多面板操作、将程序固定至任务栏、快捷文件新建等不常见的高效功能。XYplorer 凭借其强大性能以及对中文的友好支持,在中国用户之间有着非常高的传播度,其主要功能:

     

    1、多标签支持

    2、强制只能运行一个实例

    3、支持快捷键操作(ctrl+T)

     

    如果你有大量文件管理需求,建议你可以对比官网进行深度探索;如果你只是找一款clover的替代者,它会让你用得很舒爽,流畅性没得说。

     

    下面介绍几个吸引我的点。

     

    双屏多标签:

     

    一般的文件管理器要么是只有双面板,要么是只有多标签,而XYplorer做到了真正的双面板多标签,在整理大量文件时实在是利器,即使不慎关闭不必担心,XYplorer 将为您记忆上次打开的所有标签以及双面板状态。

     

     

    自动计算文件夹大小:

     

    以往要用专门的软件或插件才能做到,而XYplorer原生即可计算,相当方便,而且速度非常快!(最牛X的是还能自定义文件夹大小的单位!)

     

    文件筛选:

     

    XYplorer 还同时提供了强大的文件筛选工具并支持用户自行设定的文件类型 (单种或多种拓展名),其将为您筛选并显示某一或数个类型的所有文件以方便您进行批量操作。

    自定义命令:

     

    在平日整理文件时可能经常需要将某些类型的文件移动至某个文件夹,通过定义 XYplorer 用户命令,您可以先使用筛选工具选择您所需要处理的文件然后按下所定义的快捷键即可将文件备份、移动至指定文件夹,亦可对其路径进行自定义,例如按时间、按长度、按数量等方式建立文件夹等等。您可以单击动作后的技巧找到所有的可代替值,例如时间、路径、长度等。

     

     

     

    文件查找:

     

    加速查找文件的速度,比windows自带的查找功能流畅速度快,好用不卡。

     

    批量重命名:

     

     

    以上便是吸引我的点,而且我现在只用了不到20%的功能(对比官方的feature list),可想而知这个软件可定制度相当高,在日后工作中慢慢体会它的强大之处。

     

     

    展开全文
  • 文件管理器实现

    2020-07-30 23:33:33
    基本思路,先通过Android API调用系统自带的文件浏览器选取文件获得URI,然后将URI转换成file,从而得到file。
  • android 调用系统文件管理器

    万次阅读 热门讨论 2018-07-11 09:09:23
    今天,简单讲讲android如何调用系统的文件管理器获取目录下的文件资源。这几天,还是因为搬家的事,导致自己状态很差。和领导说想要辞职,领导说还是先适应一下在说。所以还是坚持了。这个其实也很简单,之前做一个...

    今天,简单讲讲android如何调用系统的文件管理器获取目录下的文件资源。

    这几天,还是因为搬家的事,导致自己状态很差。和领导说想要辞职,领导说还是先适应一下在说。所以还是坚持了。

    这个其实也很简单,之前做一个功能时需要用到,所以在网上查找了资料,这里记录一下。

    Android区别于iOS的沙盒模式,可以通过文件浏览器浏览本地的存储器。Android API也提供了相应的接口。

    基本思路,先通过Android API调用系统自带的文件浏览器选取文件获得URI,然后将URI转换成file,从而得到file。

    调用系统自带的文件浏览器

    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button btn= (Button) findViewById(R.id.btn);
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                    intent.setType("*/*");//设置类型,我这里是任意类型,任意后缀的可以这样写。
                    intent.addCategory(Intent.CATEGORY_OPENABLE);
                    startActivityForResult(intent,1);
                }
            });
        }
    }

     intent.setType(“image/*”);
    //intent.setType(“audio/*”); //选择音频
    //intent.setType(“video/*”); //选择视频 (mp4 3gp 是android支持的视频格式)
    //intent.setType(“video/*;image/*”);//同时选择视频和图片

    回调

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == Activity.RESULT_OK) {//是否选择,没选择就不会继续
            Uri uri = data.getData();//得到uri,后面就是将uri转化成file的过程。
            String[] proj = {MediaStore.Images.Media.DATA};
            Cursor actualimagecursor = managedQuery(uri, proj, null, null, null);
            int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            actualimagecursor.moveToFirst();
            String img_path = actualimagecursor.getString(actual_image_column_index);
            File file = new File(img_path);
            Toast.makeText(MainActivity.this, file.toString(), Toast.LENGTH_SHORT).show();
        }
    }

    onActivityResult函数响应了选择文件的操作。

    Cursor actualimagecursor = managedQuery(uri, proj, null, null, null);

    mangedQuery过时用这个代替:

    Cursor actualimagecursor = getContentResolver().query(uri,proj,null,null,null);

    简单讲讲,其实调用文件管理器就是使用intent跳转,设置intent.addCategory(Intent.CATEGORY_OPENABLE);就可以,还可以设置查找文件的类型,通过intent.setType("*/*")。然后在文件管理器里选择文件后,回到app的activity时,会回调onActivityResult,通过data.getData();得到文件的uri,然后获取文件的url,就可以获取文件了。具体代码上面很详细。

    接下来举一个例子:

    一、实现效果预览

    以下为三星S6的样机测试效果,当然不同手机调用后的效果不一样。

    二、代码实现

    布局文件很简单,就一个Button和TextView,这里不示范了,直接上实现代码:

    package com.panhouye.selectfile;
    
    import android.annotation.SuppressLint;
    import android.app.Activity;
    import android.content.ContentUris;
    import android.content.Context;
    import android.content.Intent;
    import android.database.Cursor;
    import android.net.Uri;
    import android.os.Build;
    import android.os.Bundle;
    import android.os.Environment;
    import android.provider.DocumentsContract;
    import android.provider.MediaStore;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class MainActivity extends AppCompatActivity {
        TextView tv;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button btn = (Button) findViewById(R.id.btn);
            tv = (TextView) findViewById(R.id.tv);
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                    //intent.setType(“image/*”);//选择图片
                    //intent.setType(“audio/*”); //选择音频
                    //intent.setType(“video/*”); //选择视频 (mp4 3gp 是android支持的视频格式)
                    //intent.setType(“video/*;image/*”);//同时选择视频和图片
                    intent.setType("*/*");//无类型限制
                    intent.addCategory(Intent.CATEGORY_OPENABLE);
                    startActivityForResult(intent, 1);
                }
            });
        }
        String path;
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            if (resultCode == Activity.RESULT_OK) {
                Uri uri = data.getData();
                if ("file".equalsIgnoreCase(uri.getScheme())){//使用第三方应用打开
                    path = uri.getPath();
                    tv.setText(path);
                    Toast.makeText(this,path+"11111",Toast.LENGTH_SHORT).show();
                    return;
                }
                if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT) {//4.4以后
                    path = getPath(this, uri);
                    tv.setText(path);
                    Toast.makeText(this,path,Toast.LENGTH_SHORT).show();
                } else {//4.4以下下系统调用方法
                    path = getRealPathFromURI(uri);
                    tv.setText(path);
                    Toast.makeText(MainActivity.this, path+"222222", Toast.LENGTH_SHORT).show();
                }
            }
        }
    
        public String getRealPathFromURI(Uri contentUri) {
            String res = null;
            String[] proj = { MediaStore.Images.Media.DATA };
            Cursor cursor = getContentResolver().query(contentUri, proj, null, null, null);
            if(null!=cursor&&cursor.moveToFirst()){;
                int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                res = cursor.getString(column_index);
                cursor.close();
            }
            return res;
        }
    
        /**
         * 专为Android4.4设计的从Uri获取文件绝对路径,以前的方法已不好使
         */
        @SuppressLint("NewApi")
        public String getPath(final Context context, final Uri uri) {
    
            final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
    
            // DocumentProvider
            if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
                // ExternalStorageProvider
                if (isExternalStorageDocument(uri)) {
                    final String docId = DocumentsContract.getDocumentId(uri);
                    final String[] split = docId.split(":");
                    final String type = split[0];
    
                    if ("primary".equalsIgnoreCase(type)) {
                        return Environment.getExternalStorageDirectory() + "/" + split[1];
                    }
                }
                // DownloadsProvider
                else if (isDownloadsDocument(uri)) {
    
                    final String id = DocumentsContract.getDocumentId(uri);
                    final Uri contentUri = ContentUris.withAppendedId(
                            Uri.parse("content://downloads/public_downloads"), Long.valueOf(id));
    
                    return getDataColumn(context, contentUri, null, null);
                }
                // MediaProvider
                else if (isMediaDocument(uri)) {
                    final String docId = DocumentsContract.getDocumentId(uri);
                    final String[] split = docId.split(":");
                    final String type = split[0];
    
                    Uri contentUri = null;
                    if ("image".equals(type)) {
                        contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
                    } else if ("video".equals(type)) {
                        contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
                    } else if ("audio".equals(type)) {
                        contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
                    }
    
                    final String selection = "_id=?";
                    final String[] selectionArgs = new String[]{split[1]};
    
                    return getDataColumn(context, contentUri, selection, selectionArgs);
                }
            }
            // MediaStore (and general)
            else if ("content".equalsIgnoreCase(uri.getScheme())) {
                return getDataColumn(context, uri, null, null);
            }
            // File
            else if ("file".equalsIgnoreCase(uri.getScheme())) {
                return uri.getPath();
            }
            return null;
        }
    
        /**
         * Get the value of the data column for this Uri. This is useful for
         * MediaStore Uris, and other file-based ContentProviders.
         *
         * @param context       The context.
         * @param uri           The Uri to query.
         * @param selection     (Optional) Filter used in the query.
         * @param selectionArgs (Optional) Selection arguments used in the query.
         * @return The value of the _data column, which is typically a file path.
         */
        public String getDataColumn(Context context, Uri uri, String selection,
                                    String[] selectionArgs) {
    
            Cursor cursor = null;
            final String column = "_data";
            final String[] projection = {column};
    
            try {
                cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs,
                        null);
                if (cursor != null && cursor.moveToFirst()) {
                    final int column_index = cursor.getColumnIndexOrThrow(column);
                    return cursor.getString(column_index);
                }
            } finally {
                if (cursor != null)
                    cursor.close();
            }
            return null;
        }
    
        /**
         * @param uri The Uri to check.
         * @return Whether the Uri authority is ExternalStorageProvider.
         */
        public boolean isExternalStorageDocument(Uri uri) {
            return "com.android.externalstorage.documents".equals(uri.getAuthority());
        }
    
        /**
         * @param uri The Uri to check.
         * @return Whether the Uri authority is DownloadsProvider.
         */
        public boolean isDownloadsDocument(Uri uri) {
            return "com.android.providers.downloads.documents".equals(uri.getAuthority());
        }
    
        /**
         * @param uri The Uri to check.
         * @return Whether the Uri authority is MediaProvider.
         */
        public boolean isMediaDocument(Uri uri) {
            return "com.android.providers.media.documents".equals(uri.getAuthority());
        }
    }

    简单讲讲,这个其实也是使用intent调用文件管理器,然后在onActivityResult获取文件的Uri,然后获取文件的url,对于android 4.4之前和之后的版本做了不同处理,具体的大家可以看代码,对于4.4之前的很简单,4.4之后的我也没有看懂,代码有些复杂。其实还有一种很简单的通过Uri获取url的函数:

     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            if (resultCode == Activity.RESULT_OK) {
                if (requestCode == 1) {
                    Uri uri = data.getData();
                    Toast.makeText(this, "文件路径:"+uri.getPath().toString(), Toast.LENGTH_SHORT).show();
                }
            }
        }
    这个直接通过uri.getPath().toString(),获取到文件的url,我没有试过,不知道可不可以,大家可以试一下,或者在网上查找资料。

    android 调用系统文件管理器就讲完了。


    就这么简单。

    展开全文
  • android文件管理器源码

    千次下载 热门讨论 2020-07-30 23:32:46
    android系统并不自带文件管理器,但是很多情况下,我们有诸如从SD中打开文件的需要. 下面介绍在代码中实现资源管理器,只需要一百行左右的一个类即可以最常用的文件选择功能。本代码为简单的文件管理器的实现,可独立...
  • Ubuntu18.04 中的文件管理器

    千次阅读 2019-10-23 23:35:32
    Ubuntu 18.04中平时用的比较多的文件管理器,使用到的一些技巧做一些总结 : 1. 终端快速启动文件管理器 nautilus + path (指定路径) 2. 常用文件夹创建书签 nautilus创建书签的方式隐藏的比较深,不容易找到, 位于...
  • 纯PHP写的文件管理器

    千次阅读 2017-10-29 16:46:36
    最近又来折腾了,突发奇想用PHP写一个文件管理器,所谓文件管理器,就只有一个读取文件夹与修改文件而已,删除文件以及文件夹由于懒,还没有写,代码写的也挺乱,变量名称也不是太规范,哈哈,将就着看吧。...
  • Ubuntu文件管理器的默认设置

    千次阅读 2017-04-16 20:03:09
    关于Ubuntu的文件管理器,它是一个很好用的应用(一切皆应用),但是有时候我自己用它的时候不把它当做应用来看待所以造成了很多问题最近遇到了这样的情况:文件管理器默认显示了以”.”符号开头的文件和文件夹(在...
  • 设置TC为默认文件管理器,并且实现用ahk脚本接收操作系统传来的路径,然后用TC打开,并增加自动去重标签功能。 ;Filename:WIN10下设置TC为默认文件管理器(支持恢复Explorer为默认).ahk ;作者:sunwind1576157 ;...
  • * 将Linux平台上最流行的图标集之一 Faenza 作为文件管理器的图标集 * 针对30多种不同文件类型显示不同的图标 * 剪切,复制,粘帖功能 * 创建文件夹功能 * 显示或者隐藏文件 * 支持列表方式进行文件浏览 * 支持显示 ...
  • 树莓派4B打开文件管理器时闪退

    千次阅读 2020-01-03 10:34:51
    树莓派4B打开文件管理器时闪退的问题树莓派更换国内源(清华)后,无法打开文件管理器,每次点击时出现窗口后闪退。包括打开回收站时也会出现闪退。 树莓派更换国内源(清华)后,无法打开文件管理器,每次点击时...
  • 10个开源的基于WEB的文件管理器

    千次阅读 2019-05-26 03:47:42
    因此,下面列出你会用到的10个最好的开源的基于WEB的文件管理器。 eXtplorer: 这个程序为你提供了移动、复制、编辑、搜索、删除、下载和上传功能。此外,你也能用 eXtplorer 创建和提取档案,文件夹和新文件。它...
  • (转)Android调用系统自带的文件管理器进行文件选择并获得路径,android文件管理器 Android区别于iOS的沙盒模式,可以通过文件浏览器浏览本地的存储器。Android API也提供了相应的接口。 基本思路,先通过...
  • 通过ES文件管理器用手机访问共享。

    千次阅读 2018-12-28 22:07:55
    通过ES文件管理器用手机访问电脑(SMB)的共享 共享(SMB)是PC到PC之间传送文件用得比较多的方法。对于设备在同一局域网内的情况,也是最好用的方法。 本文介绍如何手机如何访问SMB共享,实现电脑和手机的文件互传...
  • 相信有很多朋友在使用Ubuntu的过程中会碰到系统文件丢失或者想直接从别的地方拷贝配置文件过来的情况,但是由于Ubuntu系统的安全性,使用普通方法打开文件管理器是没办法办到的,所以这个时候我们就需要打开一个新的...
  • 用这段代码跳转到系统文件管理器了。 但是没有保存按钮该怎么保存?能不能在跳转的界面上添加个保存按钮 ![图片说明](https://img-ask.csdn.net/upload/201603/30/1459329298_876563.jpg)想要的效果! [图片...
  • android文件管理器的源码实现

    万次阅读 多人点赞 2011-07-06 20:22:31
    1. android文件管理器介绍android系统并不自带文件管理器,但是很多情况下,我们有诸如从SD中打开文件的需要,就必须借助三方开发的资源管理器,常用的有AndExplorer等。这种情况下发布后,用户还需要安装依赖的...
1 2 3 4 5 ... 20
收藏数 3,008,686
精华内容 1,203,474
关键字:

文件管理器