欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Ftp与NFS服务器端上传和下载,ftpnfs服务器端,本功能实现FTP和NFS

来源: javaer 分享于  点击 46440 次 点评:276

Ftp与NFS服务器端上传和下载,ftpnfs服务器端,本功能实现FTP和NFS


本功能实现FTP和NFS服务器上的文件传输,应用Apache提供的方法commons-vfs2工具```javaimport 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 "";}

}```

相关栏目:

用户点评