分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

Apache commons-vfs2

发布时间:2023-09-06 01:24责任编辑:沈小雨关键词:暂无标签

依赖:

<dependencies>    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-vfs2 -->    <dependency>        <groupId>org.apache.commons</groupId>        <artifactId>commons-vfs2</artifactId>        <version>2.2</version>    </dependency>    <!--当需要使用commons-vfs的sftp功能用-->    <dependency>        <groupId>com.jcraft</groupId>        <artifactId>jsch</artifactId>        <version>0.1.53</version>    </dependency>    <dependency>        <groupId>org.apache.commons</groupId>        <artifactId>commons-io</artifactId>        <version>1.3.2</version>    </dependency>    <!-- https://mvnrepository.com/artifact/joda-time/joda-time -->    <dependency>        <groupId>joda-time</groupId>        <artifactId>joda-time</artifactId>        <version>2.9.9</version>    </dependency></dependencies>

测试类:

import org.apache.commons.io.IOUtils;import org.apache.commons.vfs2.FileObject;import org.apache.commons.vfs2.FileSystemManager;import org.apache.commons.vfs2.FileSystemOptions;import org.apache.commons.vfs2.VFS;import org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder;import org.joda.time.DateTime;import org.joda.time.format.DateTimeFormat;import java.io.File;/** * @author by lei zhou on 2017/11/13 11:15. */public class Tester {    public static void main(String[] args) {        resolveFile("res:1/11111");        resolveFile("zip://" + System.getProperty("user.dir") + File.separator + "c.zip");        resolveFile("file://" + System.getProperty("user.dir") + File.separator + "Java9Test.iml");        resolveFile("sftp://test:test@192.168.1.111:22/home/zhoulei");    }    public static void resolveFile(String path) {        try {            FileSystemManager fsManager = VFS.getManager();            FileSystemOptions opts = new FileSystemOptions();            if (path.startsWith("sftp:")) {                // 设false时,URI要传绝对路径,设true时,URI传相对于远程用户根目录的相对路径                SftpFileSystemConfigBuilder.getInstance().setUserDirIsRoot(opts, false);                SftpFileSystemConfigBuilder.getInstance().setStrictHostKeyChecking(opts, "no");                SftpFileSystemConfigBuilder.getInstance().setTimeout(opts, 10000);            }            FileObject fileObject = fsManager.resolveFile(path, opts);            if (fileObject.isFolder()) {                FileObject[] childs = fileObject.getChildren();                for (FileObject child : childs) {                    print(child);                }            } else {                print(fileObject);            }        } catch (Exception e) {            e.printStackTrace();        }    }    private static void print(FileObject fileObject) throws Exception {        System.out.println(fileObject.getPublicURIString() + " " + getFormatedDateTime(fileObject.getContent().getLastModifiedTime()) + " " + IOUtils.toString(fileObject.getContent().getInputStream(), "UTF-8"));    }    private static String getFormatedDateTime(long millis) {        return (new DateTime(millis)).toString(DateTimeFormat.fullDateTime());    }}

项目结构:

650) this.width=650;" src="https://s4.51cto.com/oss/201711/13/931b8af6b367859dcd07f3d328a0241c.png-wh_500x0-wm_3-wmp_4-s_3664611781.png" title="QQ截图20171113170638.png" alt="931b8af6b367859dcd07f3d328a0241c.png-wh_" />

Apache commons-vfs2

原文地址:http://zl1030.blog.51cto.com/274507/1981324

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved