打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Ftp与NFS服务器端上传和下载

本功能实现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,final String remotePath){ logger.info('upload file {} to {} ',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 '';}

}</pre>

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
JAVA中使用FTPClient上传下载
PHP的FTP类
用AutoHotkey写电脑屏幕监控软件
Freenas8图文教程2
Appium之java API
新手学appium
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服