VFS把对各种各样的的文件系统的访问封装成统一的应用程序接口,这大大的简化了应用程序本身代码的复杂度。Apache上的项目的稳定性也是有目共睹的,目前VFS支持下面一些文件系统,当然你也可以自行进行扩展。
而这些文件系统中的文件被封装成了FileObject这个类,文件的读写操作通过此类来操作。文件的路径采用了URL的方式,例如:
file:///somedir/some%25file.txt
zip:// arch-file-uri[! absolute-path]
http://[ username[: password]@] hostname[: port][ absolute-path]
webdav://[ username[: password]@] hostname[: port][ absolute-path]
ftp://[ username[: password]@] hostname[: port][ absolute-path]
smb://[ username[: password]@] hostname[: port][ absolute-path]
tmp://[ absolute-path]
res://[ path]
ram:///any/path/to/file.txt
mime:file:///your/path/mail/anymail.mime!/filename.pdf
看看上面这些示例,最后一个让我觉得惊奇,居然直接可以读取邮件附件,太强了。
Commons-VFS的Javadoc文档:http://www.oschina.net/uploads/doc/commons-vfs-1.0/index.html
参考:https://www.jianshu.com/p/1f2f851b61c5 vfs 虚拟文件系统 Commons VFS 支持文件系统 1.本地文件 [file://]absolute-path 2. Zip, Jar and Tar [zip://arch-file-uri!absolute-path] [jar://arch-file-uri!absolute-path] [tar:/
commons-vfs是一个强大的虚拟文件系统,为操作各种各样的文件系统提供了统一API。这里使用的是commons-vfs2。 直接代码 package dusk; import org.apache.commons.vfs2.*; import org.apache.commons.vfs2.impl.DefaultFileMonitor; import org.junit.Test; i
package com.visystem.util; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import org.apache.commons.io.FileUtils; import org.apache.commons
几周前,我评估了一些用于Java的SSH库。 对它们的主要要求是在远程计算机上进行文件传输和文件操作。 因此,它存在一个基于SSH,SSH文件传输协议(或SFTP)的网络协议。 因此,我需要一个支持SFTP的SSH库。 一项研究表明,它退出了许多用于Java的SSH库。 为了进行比较,我将库的数量减少到三个。 我选择JSch,SSHJ和Apache的Commons VFS,以获得更深入的了解。 它
这段时间又开始忙起来了,所以apache commons-vfs源码赏析就暂时搁置起来了,在这里先写一下apache commons-vfs的一些简单的用法,也可以去参考apache commons-vfs源文件中自己提供的一些demo.废话不多说,直接上代码 package com.zzg.util; import java.io.IOException; import java.io.Inpu
commons-vfs(文件系统工具) 文件读取封装 *** 按习惯,一起看一下几个实例: 读取文件 ` byte[] res = VFSUtils.readFileToByteArray("d:/test/test1.txt"); byte[] res = VFSUtils.readFileToByteArray("tar:gz:http://anyhost/dir/mytar.tar.gz!/
原文链接:http://pro.ctlok.com/2011/06/apache-commons-vfs-for-sftp.html 在 Java 使用 FTP 去上載檔案,下載檔案或去做其他操作也是很簡單,因為 Java API 已經包括了對 FTP 的支援。如果不是使用 FTP,而是使用 SFTP: SSH File Transfer Protocol,使用Java API 實作便有點麻煩了。
apache-comnons系列之commons-vfs2 学习笔记 概述 参考 http://p7engqingyang.iteye.com/blog/1702429 http://blog.csdn.net/ffm83/article/details/42080387 VFS The main entry point for the VFS. Used to create {@link Fil
有兴趣的同学可以移步笔者的个人博客 更多博客 Apache VFS 简要介绍 VFS (虚拟文件系统),可以通过程序 去操作文件系统,这里说的文件系统是一个泛称,不同的文件系统有着不同的操作权限,它具体包括下表的几种文件系统(红色标记的是我们之后可能会用到的文件系统): Name Authentication Read Write Create/Delete Random Version Rena
通过VFS对文件进行一些操作,包括写入、读取文件,判断文件是否可读可写等示例。Apache commons VFS包和apache commons的其他基础性类有非常密切的关系。 整理了一些常用的方法,源代码如下: package test.ffm83.commons.VFS; import java.io.FileNotFoundException; import java.io.IOExcep
package test.vfs; import java.io.File; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.commons.vfs2.FileChangeEvent; import org.apache.commons.
本系列文章导航 Apache VFS(1): 基本介绍 Apache VFS(2): 文件的监听和监控 Apache VFS(3): 文件过滤器和选择器 Apache VFS(4): 事件 Apache VFS(5): 使用它! Apache VFS(6): 几个重要的概念性接口 Apache VFS(7): 文件管理器解析文件的方法 使用Apache VFS比较简单,第一个面对的对象是org.
文件系统抽象层 - VFS 文件系统抽象层是把不同文件系统的对外共性接口提取出来,形成一个函数指针数组,这样,通用文件系统访问接口层只需访问文件系统抽象层,而不需关心具体文件系统的实现细节和接口。
这篇文章有一个高度支持的评论: 如何创建新java。io。内存中的文件? 其中,Sorin Postelnicu提到使用Apache Commons VFS RAM文件作为一种将内存中的文件传递给需要java的API的方法。io。文件(我正在解释……我希望我没有错过要点)。 在阅读相关帖子的基础上,我提出了以下示例代码: 所以,我想我有一个内存文件叫做ram://virtual/test.txt内
文件系统是负责文件管理的操作系统的一部分。 它提供了一种机制来存储数据和访问文件内容,包括数据和程序。一些操作系统将所有内容视为Ubuntu文件。 文件系统处理以下问题 - 文件结构 - 前面已经了解可存储文件的各种数据结构。文件系统的任务是保持最佳的文件结构。 恢复可用空间 - 每当文件从硬盘中删除时,磁盘中都会创建一个可用空间。 可能有很多这样的空间需要被恢复,以便将它们重新分配给其他文件。
简单的文件读写是通过uv_fs_*函数族和与之相关的uv_fs_t结构体完成的。 note libuv 提供的文件操作和 socket operations 并不相同。套接字操作使用了操作系统本身提供了非阻塞操作,而文件操作内部使用了阻塞函数,但是 libuv 是在线程池中调用这些函数,并在应用程序需要交互时通知在事件循环中注册的监视器。 所有的文件操作函数都有两种形式 - 同步(synchron
文件系统提供弹性扩展的高性能文件存储服务,可为公有云上的虚拟机提供共享存储服务。 文件系统提供弹性扩展的高性能文件存储服务,可为公有云上的虚拟机提供共享存储服务。 目前已对接阿里云的NAS文件系统以及华为云的SFS弹性文件服务。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “存储/文件存储/文件系统” 菜单项,进入文件系统页面。 新建文件系统 该功能用于创建文件系统。 在文件系统
文件系统组件集成了 PHP 生态中大名鼎鼎的 League\Flysystem (这也是 Laravel 等诸多知名框架的底层库)。通过合理抽象,程序不必感知存储引擎究竟是本地硬盘还是云服务器,实现解耦。本组件对常用的云存储服务提供了协程化支持。 安装 # 首先执行 composer require hyperf/filesystem # 使用阿里云 OSS 适配器时执行 composer req