apache VSF 操作类
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 VSF 操作类相关推荐
- 常用Apache Commons工具类备忘
常用Apache Commons工具类 ----------------------------------------------------------------- 例如:commons.lan ...
- Spring整合Mongodb,Maven的依赖,Spring配置,MongoDB的公共操作类,使用SpringMVC的Controller进行测试并返回结果的案例
在和Spring和MongoDB进行整合的时候需要如下三个jar,分别是: spring-data-commons spring-data-mongodb mongo-java-driver 下面讲解 ...
- Apache POI操作Excel导出JAVABEAN对象方法
2019独角兽企业重金招聘Python工程师标准>>> Apache POI操作Excel导出方法说明 Apache的POI组件是Java操作Microsoft Office办公套件 ...
- java word apache poi 操作word模板。
apache poi 操作word模板. 操作方式: 1.对于固定格,可以遍历格子然后替换其中指定的值例如在要替换的cell写入${example} 这样格式,遍历到之后替换. 2.对于需要增长的表格 ...
- Java学习总结:41(文件操作类:File)
Java文件操作类:File 在java.io包中,如果要进行文件自身的操作(例如:创建.删除等),只能依靠java.io.File类完成. File类的常用操作方法 No. 方法 类型 描述 1 p ...
- Java学习总结:35(数字操作类)
Java的数字操作类 一.Math类 Math类是一个专门用来进行数学计算的操作类,它提供了一系列的数学计算方法.在Math类里面提供的一切方法都是static型方法,所以可以直接由类名称进行调用. ...
- classlist使用方法_如何通过使用HTML5的classList API在没有jQuery的情况下操作类
classlist使用方法 by Ayo Isaiah 通过Ayo Isaiah 如何通过使用HTML5的classList API在没有jQuery的情况下操作类 (How to manipulat ...
- python mysql类里_Python MySql 操作类
# -*- coding:utf-8 -*- import MySQLdb import time ''' · MySQL 操作类 · V1.0 ''' class MySQLClass(object ...
- java内省操作类的属性
java内省操作类的属性 1.取得指定类的属性的方法 2.操作指定类的属性的方法 3.得到指定类的属性数据类型的方法 package com.ma.introspector;import java.b ...
- ecshop的Mysql操作类
摘要,这是直接摘抄的ecshop的mysql操作类:不过他这里的缓存是用的文件缓存,我们如果想直接使用,可以替换成memcache的或者redis的! <?php/*** ECSHOP MYSQ ...
最新文章
- andriod studio 注释乱码问题
- nsqjs客户端的部署
- select的value值为对象时,获取label和value
- 什么?用@Async会内存溢出?看看你的线程池配置了没!
- 产品经理在跨部门沟通中常见问题和解决办法[转自UCDChina]
- jsp+urlrewrite实现html分页简单粗暴实现
- 【攻防世界005】parallel-comparator-200
- HTTP Header 详解
- PL/SQL: Stop Making the Same Performance Mistakes
- java-多线程安全-锁
- SAP table HRP1000的妙用
- linux sed 空间模式,整理:SED的模式空间与缓冲区及n,N,d,D,p,P,h,H,g,G,x解析...
- SharePoint学习札记[5] — 设置匿名访问
- 并行算法 Parallel Algorithm -- 提高执行效率
- 机器学习系列补充:数据集准备和更正YSX包
- 凹多边形三角剖分算法实现---基于Unity3D
- Python 网络编程
- php转换大小写函数,149-PHP大小写转换函数
- 20220728使用电脑上的蓝牙和汇承科技的蓝牙模块HC-05配对蓝牙串口传输
- MongoDB——实战演练
热门文章
- 几分钟,就看到人性的几个面孔
- 一个小时,零基础入门,看完这篇30行代码 教你实现百度换肤!
- xml文件导入wps_电脑中将WPS文档保存为XML格式的方法
- 利用DiskGenius对电脑磁盘系统数据迁移
- PowerPoint 中缺少think-cell 加载项怎么解决?
- 常用的MySQL命令大全(完整版、太到位了)
- 2022年最新前端面试题(大前端时代来临卷起来吧小伙子们..持续维护走到哪记到哪)
- sqlhelper java_java 版本SQLHelper
- HyperX旋火游戏鼠标推荐——轻量化鼠标设计界的艺术品
- banner设圆角_Banner设计技巧!