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中文帮助文档
如果设备处于VSF模式,`write`操作会将当前`running-config`保存在`vsf_startup.cfg`文件中,并将VSF相关配置保存到`vsf.cfg`中。 - **参数说明**:无需参数。 - **缺省情况**:默认情况下,`running-config`和VSF...
神州数码交换机VSF操作手册。交换机虚拟化。 VSF就是将多台设备通过VSF口连接起来形成一台虚拟的逻辑设备。用户对这台虚拟设备进行管理,来实现对虚拟设备中所有物理设备的管理。 传统的园区和数据中心网络是使用...
### VSF操作命令详解 #### 一、VSF概述 VSF(Virtual Switch Fabric)是神州数码交换机中的一项技术,用于将多台物理交换机虚拟化为一台逻辑上的交换机,从而简化网络管理和提高网络资源利用率。通过VSF技术,可以...
5. **兼容性广泛**:VSF8.0通常能很好地兼容Windows操作系统,并且与各种编程语言和开发环境结合,如C++, .NET, Visual Studio等。 6. **稳定性与性能**:作为8.0版本,VSF可能已经过优化,提供稳定性和性能上的...
VSF全称是Versaloon Software Framework,是一个基于Apache2.0协议的开源嵌入式软件平台框架。包含了从底层硬件的hal驱动、抢占式多任务内核、各种服务和组件。全部代码使用C语言,以及面向对象的方式实现
VSF 就是将多台设备通过 VSF 口连接起来形成一台虚拟的逻辑设备。用户对这台虚拟 设备进行管理,来实现对虚拟设备中所有物理设备的管理。 传统的园区和数据中心网络是使用多层网络拓扑结构设计的,如图 1-1 所示。...
VSF是一种实时操作系统(RTOS),它提供了与Linux相似的API和接口,使得在Linux上编写的应用程序能够相对轻松地迁移到VSF环境,以满足对实时性和低功耗的需求。 【Linux应用程序的特性】 1. **开源**:Linux是一个...
VSF,全称为Virtual Switching Framework,是一种网络技术,它允许多台物理设备通过特定的接口(VSF接口)连接,形成一个逻辑上的单一虚拟交换机。这种技术的主要目标是简化网络架构,提高网络的可用性和性能,以及...
Porting linux applications to VSF linux linux linux linux linux
神州 CS6200 交换机 VSF 配置代码注释
例如,Python的`subprocess`模块可以用来调用外部程序,如VSF的命令行接口,执行构建、部署或其他操作。此外,`os`模块提供了一种方式来与操作系统进行交互,包括文件操作和环境变量管理,这对于配置和控制自动化...
将 linux 应用程序移植到 VSF
`vsf`,全称为`Versaloon软件框架`,是一个专为嵌入式系统设计的轻量级、抢占式、事件驱动的软件框架。它在嵌入式开发领域提供了一种高效且灵活的编程模型,帮助开发者更好地管理和调度系统资源,提升软件的响应速度...
Veritas Storage Foundation是一种先进的存储管理解决方案,由赛门铁克公司开发,它支持异构存储的在线管理,即可以对不同厂商的硬件和操作系统实现统一的存储管理。以下是从文件提供的信息中提取的关键知识点: ##...
这个库提供了读取和写入Excel文件的能力,使得Java开发者可以在程序中方便地操作Excel数据。JExcelApi支持多种格式,包括老版本的.BIFF8和新的.XLSX格式。它提供了丰富的API,如`Workbook`、`Sheet`、`Row`和`Cell`...
在使用visualize.js之前,后端通常需要将DWG文件转换为VSF(Virtual Section File)流,这是一种由Autodesk开发的中间格式,便于在Web环境中传输和处理。这个转换过程可以通过各种工具或服务完成,例如使用Autodesk...
一.前言 Linux拥有丰富各种源代码资源,但是大部分代码在Windows平台情况是无法正常编译的。Windows平台根本无法直接利用这些源代码资源。如果想要使用完整的代码,就要做移植工作。因为C/ Library的不同和其他的...
VSF全称是Versaloon Software Framework,是一个基于Apache2.0协议的开源嵌入式软件平台框架。包含了从底层硬件的hal驱动、抢占式多任务内核、各种服务和组件。全部代码使用C语言,以及面向对象的方式实现