`
roger51
  • 浏览: 26500 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

VFS

vfs 
阅读更多

public class VFS_common {

    private static StaticUserAuthenticator auth = null;
    private static FileSystemOptions opts = null;

    static {

            opts = new FileSystemOptions();
            try {
                DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth);
            } catch (FileSystemException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    }
    public static void setUserAuthenticator(String domain ,String username,String password)
    {
        auth = new StaticUserAuthenticator(domain, username, password);
    }
    public static FileObject sourceFileObject(String IP,String filePath)
    {
            FileObject fo = null;
            try {
                fo = VFS.getManager().resolveFile("file:\\\\"+IP+filePath+"", opts);
            } catch (FileSystemException e) {
                e.printStackTrace();
            }
            return fo;
    }
    public static FileObject sourceFileObject(String serverFile)
    {
            FileObject fo = null;
            try {
                fo = VFS.getManager().resolveFile("file:\\\\"+serverFile+"", opts);
            } catch (FileSystemException e) {
                e.printStackTrace();
            }
            return fo;
    }
    public static FileObject destFileObject(String filePath)
    {
            FileObject fo = null;
            try {
                fo = VFS.getManager().resolveFile(filePath);
                if (fo.exists() && fo.getType() == FileType.FOLDER)
             fo = fo.resolveFile(fo.getName().getBaseName());
            } catch (FileSystemException e) {
                e.printStackTrace();
            }
            return fo;

    }

    /**
     * download file from the file server
     * @param source
     * @param dest
     */
    public static void copySourceTodest(FileObject source ,FileObject dest)
    {
        try {
            dest.copyFrom(source, Selectors.SELECT_ALL);
        } catch (FileSystemException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
        finally{
                try {
                    source.close();
                    dest.close();
                } catch (FileSystemException e) {
                    e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
                } finally {
                }
            }
     }

    /**
     * upload the file from eea to the file server
     * @param source
     * @param dest
     */
    public static void copydestTosource(FileObject source ,FileObject dest)
    {
        try {
            source.copyFrom(dest, Selectors.SELECT_ALL);
        } catch (FileSystemException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
        finally{
                try {
                    source.close();
                    dest.close();
                } catch (FileSystemException e) {
                    e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
                } finally {
                }
            }
     }
    public static void main(String[] args) throws Exception
    {
        long start = System.currentTimeMillis();
        setUserAuthenticator(null,"user","user");
        String ip = "192.168.1.16";

        /*
        String filePath ="\\eBooks\\outlook\\Outlook 2002 Inside Out.chm";
        FileObject source=  sourceFileObject(ip,filePath);
        String path ="e:\\a.chm";
        File file = new File(path);

        FileObject dest =  destFileObject(file.getAbsolutePath());
        copySourceTodest(source,dest);
        */
        String filePath ="e:\\dotnetfx.exe";
        FileObject dest = destFileObject(filePath) ;
        String path ="\\uploadzone\\dotnetfx1.exe";
        FileObject source = sourceFileObject(ip,path);
        copydestTosource(source,dest);


        System.out.println((System.currentTimeMillis() - start)/1000);
    }

}

分享到:
评论

相关推荐

    vfs_fonts大全

    VFS (Virtual File System) 字体是Web开发中一种特殊的技术,用于在浏览器环境中模拟操作系统级别的文件系统,以便于加载和使用字体资源。在标题和描述中提到的"vfs_fonts大全",指的是一个包含了多种VFS字体实现的...

    vfs.rar_VFS_linux vfs_linux 文件系统_vfs.c_vfs文件系统

    Linux的虚拟文件系统(Virtual File System,简称VFS)是操作系统的核心组成部分,它为不同的文件系统提供了一个统一的接口,使得Linux可以支持多种文件系统,如EXT4、XFS、FAT32、NTFS等。VFS允许应用程序在不关心...

    commons-vfs-2.0.zip

    Apache Commons VFS(Virtual File System)是一个开源Java库,它为不同的文件系统提供了一个统一的接口。这个库允许开发者以相同的方式处理各种类型的文件系统,包括本地文件、FTP、HTTP、ZIP、JAR等。VFS是Virtual...

    commons-vfs-1.0-src

    Apache Commons VFS(Virtual File System)是Apache软件基金会的一个开源项目,它提供了一个统一的接口来处理各种不同类型的文件系统,如本地文件、FTP、HTTP、JAR等。这个项目的核心在于抽象出一个通用的文件系统...

    yaffs_vfs.c, android

    s/yaffs2/yaffs_vfs.c: In function 'yaffs_read_super': fs/yaffs2/yaffs_vfs.c:2383:2: error: implicit declaration of function 'get_sb_bdev' fs/yaffs2/yaffs_vfs.c: At top level: fs/yaffs2/yaffs_vfs.c:...

    default_vfs-normal.js

    (我是在引用jspdf插件时,出现中文乱码的时候,引用文件default_vfs.js解决中文乱码后由于文件过大,导致页面卡顿,后制作的default_vfs-normal.js字体文件,大概2M左右解决了加载慢的问题)jspdf中引入js后,加入...

    VFS文件编辑

    VFS(Virtual File System,虚拟文件系统)是操作系统中用于管理不同类型的文件系统的一个抽象层。它允许操作系统统一处理各种不同的文件系统,如本地硬盘上的FAT、NTFS,网络共享的CIFS,或者云存储服务的API。VFS...

    vfs_fonts.js和pdfmake.min.js 生成pdf文件

    3. **合并到`vfs_fonts.js`**:将生成的JSON数据添加到`vfs_fonts.js`的虚拟文件系统(Virtual File System, VFS)中。 4. **在代码中引用**:在调用`pdfmake.createPdf()`时,指定使用新添加的字体。 以下是一个...

    虚拟文件系统(VFS)

    虚拟文件系统(VFS) 虚拟文件系统(VFS)是由 Sun Microsystems 公司在定义网络文件系统(NFS)时创造的。它是一种用于网络环境的分布式文件系统,是允许和操作系统使用不同的文件系统实现的接口。 知识点: 1. ...

    VFS(虚拟文件系统)简介

    "VFS(虚拟文件系统)简介" 虚拟文件系统(VFS)是一种抽象的文件系统,它提供了一个通用的接口来访问不同的文件系统。VFS 作为一个中间层,位于操作系统的内核和文件系统之间,负责管理文件系统的元数据和文件的存储...

    jboss原理-3(vfs).docx

    在JBoss平台中,Virtual File System(VFS)是一个核心组件,它为处理各种资源提供了一个统一的抽象层。VFS解决了JBoss内部代码中大量重复的资源处理问题,特别是那些试图识别资源类型(如文件、目录或通过URL加载的...

    VFS文件系统简要分析

    ### VFS文件系统简要分析 #### 一、引言 在现代操作系统中,虚拟文件系统(VFS,Virtual File System)是操作系统内核中的一个关键组件,它为上层应用提供了一致的文件访问接口,同时允许底层支持多种不同的文件...

    解析Linux的VFS机制

    Linux的虚拟文件系统(Virtual Filesystem Switch,简称VFS)是操作系统的核心组件之一,它为上层应用程序提供了一个统一的接口来访问各种不同类型的文件系统,如ext2、jffs等。VFS的设计目标是使得不同的文件系统...

    commons-vfs jar包

    apache 虚拟文件系统 vfs jar包~~~~

    commons-vfs-2.1源码

    Apache Commons VFS(Virtual File System)是一个开源项目,由Apache软件基金会开发,它提供了一种统一的方式来处理各种类型的文件系统。VFS允许开发者通过抽象层访问本地文件、远程文件、ZIP档案、JAR文件等,使得...

    commons-vfs-1.0的javaDoc

    Apache Commons VFS(Virtual File System)是Java平台上的一个开源项目,它提供了一种抽象层,用于处理各种类型的文件系统。这个库的主要目标是统一不同类型的文件系统的访问方式,包括本地文件系统、网络共享、FTP...

    commons-logging-1.2.jar commons-vfs-2.2.jar

    标题中的"commons-logging-1.2.jar"和"commons-vfs-2.2.jar"是两个Java库的文件名,分别代表Apache Commons Logging和Apache Commons VFS(Virtual File System)的不同版本。这两个库在Java应用程序开发中经常被...

    commons-vfs-1.0.zip

    Apache Commons VFS(Virtual File System)是Apache软件基金会的一个开源项目,它提供了一个统一的接口来处理各种不同的文件系统。这个接口使得开发者可以方便地在不同的文件系统之间切换,包括本地文件系统、网络...

Global site tag (gtag.js) - Google Analytics