Ftp与NFS服务器端上传和下载
发布时间:2020-05-28 21:59:13 所属栏目:Java 来源:互联网
导读:Ftp与NFS服务器端上传和下载
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 本功能实现FTP和NFS服务器上的文件传输,应用Apache提供的 方法 commons-vfs2工具import java.io.File;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.vfs2.FileObject;
import org.apache.commons.vfs2.Selectors;
import org.apache.commons.vfs2.impl.StandardFileSystemManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
public class DownOrUpLoad {
public static Logger logger = LoggerFactory.getLogger(DownOrUpLoad.class);
/**
* 上传文件到本地路径
*
* @param remotePath 远程服务器上的路径
* @param tempApkPath 本地路径
*/
private void uploadAPk(final String tempApkPath,final String remotePath){
switch (protocols) {
case "nfs" :
uploadAPk_nfs(tempApkPath,remotePath);
break;
case "ftp" :
uploadAPk_ftp(tempApkPath,remotePath);
break;
default:
break;
}
}
private void uploadAPk_ftp(final String tempApkPath,final String remotePath){
logger.info("upload file {} to {} ",tempApkPath,remotePath);
try{
final String ftpConnect=ftpPath;
StandardFileSystemManager fsManager = new StandardFileSystemManager();
fsManager.init();
FileObject destFile = fsManager.resolveFile(ftpConnect+remotePath);
if(destFile.exists()){
destFile.createFile();
}
FileObject src = fsManager.resolveFile(tempApkPath);
destFile.copyFrom(src,Selectors.SELECT_FILES);
src.close();destFile.close();fsManager.close();
}catch(Exception e){
e.printStackTrace();
}
}
private void uploadAPk_nfs(final String tempApkPath,remotePath);
try {
FileUtils.copyFile(new File(tempApkPath),new File(nfsPath+remotePath));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 下载远程服务器apk到本地路径
*
* @param remoteApkPath 远程服务器上的路径
* @return 本地路径
*/
private String downloadAPKtoLocalTempPath(final String remoteApkPath){
switch (protocols) {
case "nfs" :
return downloadAPK_NFS(remoteApkPath);
case "ftp" :
return downloadAPk_FTP(remoteApkPath);
default:
return "";
}
}
private String downloadAPK_NFS(String remoteApkPath){
File srcFile=new File(remoteApkPath);
File descFile=new File(apkLocalPath+FilenameUtils.getName(remoteApkPath));
try {
if(srcFile.exists()){
FileUtils.copyFile(srcFile,descFile);
return descFile.getAbsolutePath();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "";
}
private String downloadAPk_FTP(final String remoteApkPath){
try{
final String ftpConnect=ftpPath;
StandardFileSystemManager fsManager = new StandardFileSystemManager();
fsManager.init();
File descFile=new File(apkLocalPath+FilenameUtils.getName(remoteApkPath));
FileObject dest = fsManager.resolveFile(descFile.getAbsolutePath());
if(dest.exists()){
dest.createFile();
}
FileObject src = fsManager.resolveFile(ftpConnect+remoteApkPath);
dest.copyFrom(src,Selectors.SELECT_FILES);
src.close();dest.close();fsManager.close();
return descFile.getAbsolutePath();
}catch(Exception e){
e.printStackTrace();
}
return "";
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
