代码拉取完成,页面将自动刷新
同步操作将从 backuper/facade-fs 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
[TOC]
Ponly FS 提供一个对常见文件系统(本地文件系统/FTP/SFTP/OSS)统一访问的 API 接口,其核心接口只有一个 FileSystem 接口定义
这里提供个简单的例子, 创建一个文件并读取信息
// 创建一个从 ftp 读取文件的文件系统 uri
// String ftpUri = "ftp://user:password@host";
// 创建一个基于本地文件系统, 以 d:/fs 为根目录的文件系统
String fsUri = "local:///d:/fs/";
FileSystem fs = FileSystems.getFileSystem(fsUri);
// 在该文件系统中创建一个 dir/hello.txt, 如果存在则覆盖
OutputStream out = fs.create("dir/hello.txt", true);
PrintStream printOut = new PrintStream(out);
printOut.append("Hello FS !");
printOut.flush();
printOut.close();
// 读取 dir/hello.txt 文件内容
InputStream in = fs.open("dir/hello.txt");
String text = IOUtils.toString(in, Charset.forName("UTF-8"), true);
System.out.println(text);
// 查看文件状态
FileView stat = fs.stat("dir/hello.txt");
System.out.println("路径:" + stat.getPath());
System.out.println("所有人:" + stat.getOwner());
System.out.println("大小:" + stat.getLength());
System.out.println("最后修改时间:" + stat.getLastModifiedTime());
从以上例子可以看出, 如果需要从不同的文件系统读取, 只需要修改 fsUri即可
方法 | 说明 |
---|---|
create | 创建一个新的文件输出流 |
open | 打开一个文件输入流 |
stat | 获取文件信息 |
ls | 获取文件/目录下所有文件信息 |
exists | 获取给定的文件是否存在 |
FileSystems 工具类提供一个从 uri 来解析创建 文件系统实例的快捷操作, 可以通过 getFileSystem (uri) 来获取
FSURI 格式为: schema://[user[:password]@][:port]/path
具体支持情况如下:
文件系统 | schema | 样例 |
---|---|---|
本地文件 | local/file | local:///d:/dir, local:///mnt/dir |
FTP | ftp | ftp://vacoor:passwd@127.0.0.1:99 |
SFTP | sftp | sftp://vacoor:passwd@127.0.0.1 |
阿里云 OSS | aliyun | aliyun://accessId:accessKey@bucket.endpoint/path, aliyun://accessId:accessKey@oss-ch-sh.oss-cn-shanghai.aliyuncs.com |
腾讯云 COS | qcloud | qcloud://secretId:secretKey@bucket.region/path, qcloud://secretId:secretKey@bucketsh-1256188765.ap-shanghai |
对于某些情况下,可能不希望通过 uri 来传递信息, 此时可以通过以下两个方法来传递这些信息
getFileSystem(uri, user, password)/getFileSystem(uri, props)
FileSystem.getFileSystem("sftp://127.0.0.1", "vacoor", "password")
Properties props = new Properties();
props.setProperty("user", "vacoor");
props.setProperty("password", "password");
FileSystem.getFileSystem("sftp://127.0.0.1", props)
额,没有更多了。
考虑增加 “七牛云存储” 支持
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。