`
iehyou
  • 浏览: 135156 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

apache VSF 操作类

    博客分类:
  • J2EE
阅读更多
package com.biya.dao.jdbc;


public class VirtualFileSystemDAOImpl {
	private String uri;
	private String userName;
	private String password;
	private boolean needAuth;// 是否需要用户认证
	private DefaultFileSystemManager mgr;
	private FileObject fo;

	private DefaultFileSystemManager getFileSystemManager() throws FileSystemException {
		if (mgr == null) {
			mgr = (DefaultFileSystemManager) VFS.getManager();
			//mgr.setCacheStrategy(CacheStrategy.ON_CALL);
		}
		return mgr;
	}

	public FileObject getFileObject(String path) throws FileSystemException {
		return getFileObject(path,true);
	}

	public FileObject getFileObject(String path,boolean includeUri) throws FileSystemException {
		if (this.needAuth) {
			StaticUserAuthenticator auth = new StaticUserAuthenticator(null, userName, password);
			FileSystemOptions opts = new FileSystemOptions();
			DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth);
			if (includeUri){
				fo = VFS.getManager().resolveFile(uri + path, opts);
			}else{
				fo = VFS.getManager().resolveFile("file://" + path, opts);
			}
		} else {
			if (includeUri){
				fo = this.getFileSystemManager().resolveFile(uri + path);
			}else{
				fo = VFS.getManager().resolveFile("file://" + path);
			}
		}
		return fo;
	}

	public void setNeedAuth(boolean needAuth) {
		this.needAuth = needAuth;
	}

	public void setUri(String uri) {
		this.uri = uri;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public void copyFile(String sourcePath, String targetPath) throws FileSystemException {
		FileObject src = getFileObject(sourcePath);
		FileObject dest = getFileObject(targetPath);
		if (dest.exists() && dest.getType() == FileType.FOLDER) {
			dest = dest.resolveFile(src.getName().getBaseName());
		}
		dest.copyFrom(src, Selectors.SELECT_ALL);
	}

	public void createFile(FileItem fileItem, String targetPath) throws IOException {
		String sourcePath=System.getProperty("user.home")+ File.separator + "objecttype.gif";
		File file = new File( sourcePath);
		try {
			fileItem.write(file);
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		FileObject src = getFileObject(sourcePath,false);
		FileObject dest = getFileObject(targetPath);
		dest.createFile();
		if (dest.isWriteable()){
			dest.copyFrom(src, Selectors.SELECT_ALL);
		}
	}

	public void moveFile(String sourcePath, String targetPath) throws FileSystemException {
		copyFile(sourcePath, targetPath);
		removeFile(sourcePath);
	}

	public void removeFile(String sourcePath) throws FileSystemException {
		FileObject file = getFileObject(sourcePath);
		file.delete(Selectors.SELECT_SELF);

	}

}
分享到:
评论

相关推荐

    apache common_vsf.chm中文帮助文档

    apache common_vsf.chm中文帮助文档

    神州数码vsf详细讲解和配置命令

    如果设备处于VSF模式,`write`操作会将当前`running-config`保存在`vsf_startup.cfg`文件中,并将VSF相关配置保存到`vsf.cfg`中。 - **参数说明**:无需参数。 - **缺省情况**:默认情况下,`running-config`和VSF...

    VSF操作手册交换机虚拟化

    神州数码交换机VSF操作手册。交换机虚拟化。 VSF就是将多台设备通过VSF口连接起来形成一台虚拟的逻辑设备。用户对这台虚拟设备进行管理,来实现对虚拟设备中所有物理设备的管理。 传统的园区和数据中心网络是使用...

    VSF操作命令.txt

    ### VSF操作命令详解 #### 一、VSF概述 VSF(Virtual Switch Fabric)是神州数码交换机中的一项技术,用于将多台物理交换机虚拟化为一台逻辑上的交换机,从而简化网络管理和提高网络资源利用率。通过VSF技术,可以...

    VSF8.0免注册版本

    5. **兼容性广泛**:VSF8.0通常能很好地兼容Windows操作系统,并且与各种编程语言和开发环境结合,如C++, .NET, Visual Studio等。 6. **稳定性与性能**:作为8.0版本,VSF可能已经过优化,提供稳定性和性能上的...

    是一个基于Apache2.0协议的开源嵌入式软件平台框架

    VSF全称是Versaloon Software Framework,是一个基于Apache2.0协议的开源嵌入式软件平台框架。包含了从底层硬件的hal驱动、抢占式多任务内核、各种服务和组件。全部代码使用C语言,以及面向对象的方式实现

    17_VSF操作.pdf

    VSF 就是将多台设备通过 VSF 口连接起来形成一台虚拟的逻辑设备。用户对这台虚拟 设备进行管理,来实现对虚拟设备中所有物理设备的管理。 传统的园区和数据中心网络是使用多层网络拓扑结构设计的,如图 1-1 所示。...

    vsf.linux-将 Linux 应用程序移植到 VSF

    VSF是一种实时操作系统(RTOS),它提供了与Linux相似的API和接口,使得在Linux上编写的应用程序能够相对轻松地迁移到VSF环境,以满足对实时性和低功耗的需求。 【Linux应用程序的特性】 1. **开源**:Linux是一个...

    18_VSF操作.word.doc

    VSF,全称为Virtual Switching Framework,是一种网络技术,它允许多台物理设备通过特定的接口(VSF接口)连接,形成一个逻辑上的单一虚拟交换机。这种技术的主要目标是简化网络架构,提高网络的可用性和性能,以及...

    vsf.linux-linux

    Porting linux applications to VSF linux linux linux linux linux

    神州 CS6200 交换机 VSF 配置代码注释

    神州 CS6200 交换机 VSF 配置代码注释

    自动化:用于运行VSF的脚本

    例如,Python的`subprocess`模块可以用来调用外部程序,如VSF的命令行接口,执行构建、部署或其他操作。此外,`os`模块提供了一种方式来与操作系统进行交互,包括文件操作和环境变量管理,这对于配置和控制自动化...

    将 linux 应用程序移植到 VSF

    将 linux 应用程序移植到 VSF

    vsf:Versaloon软件框架-适用于嵌入式系统的微型,具有抢占功能的事件驱动的增量软件框架

    `vsf`,全称为`Versaloon软件框架`,是一个专为嵌入式系统设计的轻量级、抢占式、事件驱动的软件框架。它在嵌入式开发领域提供了一种高效且灵活的编程模型,帮助开发者更好地管理和调度系统资源,提升软件的响应速度...

    VSF PDF FILE

    Veritas Storage Foundation是一种先进的存储管理解决方案,由赛门铁克公司开发,它支持异构存储的在线管理,即可以对不同厂商的硬件和操作系统实现统一的存储管理。以下是从文件提供的信息中提取的关键知识点: ##...

    commons-logging-1.2.jar,commons-vfs2-2.2.jar,jxl.jar

    这个库提供了读取和写入Excel文件的能力,使得Java开发者可以在程序中方便地操作Excel数据。JExcelApi支持多种格式,包括老版本的.BIFF8和新的.XLSX格式。它提供了丰富的API,如`Workbook`、`Sheet`、`Row`和`Cell`...

    visualize.js

    在使用visualize.js之前,后端通常需要将DWG文件转换为VSF(Virtual Section File)流,这是一种由Autodesk开发的中间格式,便于在Web环境中传输和处理。这个转换过程可以通过各种工具或服务完成,例如使用Autodesk...

    Porting linux applications to VSF.rar

    一.前言  Linux拥有丰富各种源代码资源,但是大部分代码在Windows平台情况是无法正常编译的。Windows平台根本无法直接利用这些源代码资源。如果想要使用完整的代码,就要做移植工作。因为C/ Library的不同和其他的...

    基于Apache2.0协议的开源嵌入式软件平台框架,包含了从底层硬件的hal驱动、抢占式多任务内核、各种服务和组件

    VSF全称是Versaloon Software Framework,是一个基于Apache2.0协议的开源嵌入式软件平台框架。包含了从底层硬件的hal驱动、抢占式多任务内核、各种服务和组件。全部代码使用C语言,以及面向对象的方式实现

Global site tag (gtag.js) - Google Analytics