精华内容
下载资源
问答
  • JAVA FTP 下载文件

    2016-11-08 10:39:13
    public static boolean download()throws IOException{ boolean result = false; String downLocalPath...//下载到本地目录 String ftpPath = "/";//ftp目录 FTPClient ftp = new FTPClient(); ftp.connect(
    public static boolean download()throws IOException{
    		boolean result = false;
    		String downLocalPath ="d://";//下载到本地目录
    		String ftpPath = "/";//ftp目录
    		FTPClient ftp = new FTPClient();
    		ftp.connect("192.168.7.88",21);//指定ftp IP和端口
    		ftp.login("administrator", "1");//用户名和密码
    		ftp.setControlEncoding("GBK");//解决中文乱码时使用
    		int reply=ftp.getReplyCode();
    		if (!FTPReply.isPositiveCompletion(reply)) {//是否连接
    			 ftp.disconnect();
    			 return result;
    		}
    		boolean changedir = ftp.changeWorkingDirectory(ftpPath);//指定ftp目录
    		if(changedir){
    			FTPFile[] files = ftp.listFiles();//加载文件
    			OutputStream outputStream =null;
    			for (int i = 0; i < files.length; i++) {
    				  outputStream = new FileOutputStream(downLocalPath+ files[i].getName()); 
    				  ftp.retrieveFile(new String(files[i].getName().getBytes("GBK"),"iso-8859-1"), outputStream);
    				  outputStream.flush();
    				  outputStream.close();
    			}
    		}
    		if(changedir){
    			ftp.changeToParentDirectory();
    		}
    		if(ftp.isConnected()){
    			ftp.logout();
    			ftp.disconnect();
    		}
    		result = true;
    		return result;
    	}

    展开全文
  • java ftp下载文件

    千次阅读 2019-08-02 12:22:49
    1、使用官方正规的jar ...注意:使用ftp从windows服务器下载文件和从linux服务器下载文件不一样 2、用ftp从linux服务器下载文件 System.out.println(new Date()+" 开始进入ftpDownload定时器"); /...

    1、使用官方正规的jar

    commons-net-1.4.1.jar

    jakarta-oro-2.0.8.jar

    注意:使用ftp从windows服务器下载文件和从linux服务器下载文件不一样

    2、用ftp从linux服务器下载文件

    System.out.println(new Date()+"  开始进入ftpDownload定时器");
            
            //ftp服务器登录凭证
            String host=PropertiesManager.getProperty("ftpHost");
            int port=Integer.parseInt(PropertiesManager.getProperty("ftpPort"));
            String user=PropertiesManager.getProperty("ftpUser");
            String password=PropertiesManager.getProperty("ftpPassword");
            
            //获取时间字段信息
            SimpleDateFormat sdf1=new SimpleDateFormat("yyyyMMdd");
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
            Date date=new Date();
            String today1 = sdf1.format(date);
            String today = sdf.format(date);
                    
            String txtFileDir="/";
            String txtSaveDir="E:/dataCenter/shengzhan/";
            
            //检查本地磁盘目录是否存在txt文件
            boolean flag = isTxtExit(today1,txtSaveDir);
            System.out.println(new Date()+"  判断txt文件是否存在:"+flag);
            FlagUtil.ftpDownloadRunning=true;
            
            //讲txt的下载操作和解析操作分成2个独立的操作进行,排除互相间的干扰
            if(flag==false)//文件不存在进行ftp下载操作
            {
                FTPClient ftp=null;            
                try
                {
                    //ftp的数据下载
                    ftp=new FTPClient();
                    ftp.connect(host, port);   
                    ftp.login(user, password);
                    ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
                    
                    //设置linux环境
                    FTPClientConfig conf = new FTPClientConfig( FTPClientConfig.SYST_UNIX);
                    ftp.configure(conf);
                    
                    //判断是否连接成功
                    int reply = ftp.getReplyCode();
                    if (!FTPReply.isPositiveCompletion(reply))
                    {
                        ftp.disconnect();
                        System.out.println("FTP server refused connection.");
                        return;
                    }
                    
                    //设置访问被动模式
                    ftp.setRemoteVerificationEnabled(false);
                    ftp.enterLocalPassiveMode();
                    
                    
                    //检索ftp目录下所有的文件,利用时间字符串进行过滤
                    boolean dir = ftp.changeWorkingDirectory(txtFileDir);
                    if (dir) 
                    { 
                        FTPFile[]fs = ftp.listFiles(); 
                        for(FTPFile f:fs)
                        { 
                              if(f.getName().indexOf(today1+"2000")>0)
                              {  
                                  System.out.println(new Date()+"  ftpDownload定时器下载txt成功");        
                                  File localFile = new File(txtSaveDir+f.getName());    
                                  OutputStream ios = new FileOutputStream(localFile);     
                                  ftp.retrieveFile(f.getName(), ios);  
                                  ios.close();   
                                  break;
                               }    
                        }
                    }
                } 
                catch (Exception e)
                {
                    e.printStackTrace();
                    System.out.println(new Date()+"  ftp下载txt文件发生错误");
                }
                finally
                {
                    if(ftp != null)  try {ftp.disconnect();} catch (IOException ioe) {}  
                }

    3、使用ftp从windows服务器下载文件

    public static boolean downFile(  
                String url, //FTP服务器hostname  
                int port,//FTP服务器端口  
                String username, //FTP登录账号  
                String password, //FTP登录密码  
                String remotePath,//FTP服务器上的相对路径   
                String fileName,//要下载的文件名  
                String localPath//下载后保存到本地的路径 
    
                ) {    
            boolean success = false;    
            FTPClient ftp = new FTPClient();    
            try {    
                int reply;    
                ftp.connect(url, port);    
                //如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器     
                ftp.login(username, password);//登录     
                reply = ftp.getReplyCode();    
                if (!FTPReply.isPositiveCompletion(reply)) {    
                    ftp.disconnect();    
                    return success;    
                }   
                System.out.println("aaa");
                ftp.changeWorkingDirectory(remotePath);//转移到FTP服务器目录     
                FTPFile[] fs = ftp.listFiles();  
                
                for(FTPFile ff:fs){ 
                 System.out.println("bb" + fs);
                 
                    if(ff.getName().equals(fileName)){  
                     System.out.println("dd");
                        File localFile = new File(localPath+"/"+ff.getName());    
                        OutputStream is = new FileOutputStream(localFile);     
                        ftp.retrieveFile(ff.getName(), is);  
                        System.out.println("ccc" +ff.getName()+fileName);
                        is.close();    
                    }    
                }    
                ftp.logout();    
                success = true;    
            } catch (IOException e) {    
                e.printStackTrace();    
            } finally {    
                if (ftp.isConnected()) {    
                    try {    
                        ftp.disconnect();    
                    } catch (IOException ioe) {    
                    }    
                }    
            }    
            return success;    
        }

     

    转载于:https://www.cnblogs.com/tiandi/p/5936218.html

    展开全文
  • java FTP 下载文件

    千次阅读 2019-07-11 16:00:29
    package ... import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; import org.apache.commons.net.ftp.FTPReply; import java.io.File; import java...
    package com.jcjt.download.utils;
    
    import org.apache.commons.net.ftp.FTPClient;
    import org.apache.commons.net.ftp.FTPFile;
    import org.apache.commons.net.ftp.FTPReply;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.net.SocketException;
    
    /**
     * 
     * @description FtpUtils
     * @date 2019/7/9
     **/
    public class FtpUtils {
    
        public static FTPClient getFtpClient(String host) throws SocketException, IOException {
            FTPClient ftp = new FTPClient();
            // 连接
            ftp.connect(host);// 连接FTP服务器
            ftp.login("abc", "123456");// 登陆FTP服务器
            ftp.setControlEncoding("UTF-8"); // 中文支持
            ftp.setFileType(FTPClient.BINARY_FILE_TYPE); //二进制
    	ftp.enterLocalPassiveMode();  // 被动模式
            if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
                ftp.disconnect();
                throw new RuntimeException("未连接到FTP,用户名或密码错误。");
            }
            return ftp;
        }
    
        public static String download(String localpath, String serverIp,String path) {
            String result = "";
            FTPClient ftpClient = null;
            OutputStream ios = null;
            File localFile = null;
            Boolean success = false;
            try {
                ftpClient = getFtpClient(serverIp);
            } catch (IOException e) {
                e.printStackTrace();
                throw new RuntimeException("FTP连接发生异常!", e);
            }
            try {
                //切换下载目录 2019/07/10/16/20190710165044_0_1002_1001.wav
                ftpClient.changeWorkingDirectory("2019/07/10/16/");
                FTPFile[] ftpFiles = ftpClient.listFiles("20190710165044_0_1002_1001.wav");
                if(ftpFiles.length>0){
                    localFile = new File(localpath+"/"+ftpFiles[0].getName());
                    //先判断文件是否存在 如果存在就不重复下载
                    if(!localFile.exists()){
                        ios = new FileOutputStream(localFile);
                        success = ftpClient.retrieveFile(ftpFiles[0].getName(),ios);
                        ios.close();
                    }
                }
                ftpClient.logout();
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                try {
                    if(ios != null){
                        ios.close();
                    }
                    close(ftpClient);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return result;
        }
    
    
        /**
         * ftp 连接断开
         *
         * @param client ftp 客户端
         */
        public static void close(FTPClient client) {
            try {
                if (!client.isConnected())
                    client.disconnect();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    }
    

     

    展开全文
  • Java FTP 下载文件和文件夹

    千次阅读 2016-10-24 10:49:46
    Java FTP 下载文件和文件夹 Java FTP 2013-12-13 22:58:45 发布 您的评价:   0.0 收藏 0收藏 用apache下的common-net.jar包开发Java FTP下载功能 导入apache...

    Java FTP 下载文件和文件夹

    Java FTP   2013-12-13 22:58:45 发布
    您的评价:
         
    0.0
    收藏     0收藏
    用apache下的common-net.jar包开发Java FTP下载功能

    导入apache-net-2.0.jar到工程中以及其他jar


     import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.net.SocketException;
    
    
    import org.apache.commons.net.ftp.FTP;
    import org.apache.commons.net.ftp.FTPClient;
    import org.apache.commons.net.ftp.FTPReply;
    import org.apache.log4j.Logger;
    
    
    /**
     * 采用的是apache commons-net架包中的ftp工具类实现的
     * 
     * @author chiyong
     * 
     */
    public class FtpCollectionUtil {
    private String username;
    private String password;
    private String ftpHostName;
    private int port = 21;
    private FTPClient ftpClient = new FTPClient();
    private FileOutputStream fos = null;
    private Logger logger = Logger.getLogger(FtpCollectionUtil.class);
    
    
    public FtpCollectionUtil(String username, String password,
    String ftpHostName, int port) {
    super();
    this.username = username;
    this.password = password;
    this.ftpHostName = ftpHostName;
    this.port = port;
    }
    
    
    /**
    * 建立连接b
    */
    private void connect() {
    try {
    logger.debug("开始连接");
    // 连接
    ftpClient.connect(ftpHostName, port);
    int reply = ftpClient.getReplyCode();
    if (!FTPReply.isPositiveCompletion(reply)) {
    ftpClient.disconnect();
    }
    // 登录
    ftpClient.login(username, password);
    ftpClient.setBufferSize(256);
    
    
    ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
    
    
    ftpClient.setControlEncoding("utf8");
    logger.debug("登录成功!");
    logger.debug("开始登录!");
    } catch (SocketException e) {
    logger.error("", e);
    } catch (IOException e) {
    logger.error("", e);
    }
    
    
    }
    /**
    * 关闭输入输出流
    * 
    * @param fos
    */
    private void close(FileOutputStream fos) {
    try {
    if (fos != null) {
    fos.close();
    }
    
    ftpClient.logout();
    logger.info("退出登录");
    ftpClient.disconnect();
    logger.info("关闭连接");
    } catch (IOException e) {
    logger.error("", e);
    }
    }
    
    
    /**
    * 下载文件
    * 
    * @param ftpFileName
    * @param localDir
    */
    public void down(String ftpFileName, String localDir) {
    connect();
    downFileOrDir(ftpFileName, localDir);
    close(fos);
    }
    
    
    private void downFileOrDir(String ftpFileName, String localDir) {
    try {
    File file = new File(ftpFileName);
    
    
    File temp = new File(localDir);
    
    
    if (!temp.exists()) {
    temp.mkdirs();
    }
    // 判断是否是目录
    if (isDir(ftpFileName)) {
    String[] names = ftpClient.listNames();
    for (int i = 0; i < names.length; i++) {
    System.out.println(names[i] + "^^^^^^^^^^^^^^");
    if (isDir(names[i])) {
    downFileOrDir(ftpFileName + '/' + names[i], localDir
    + File.separator + names[i]);
    ftpClient.changeToParentDirectory();
    } else {
    File localfile = new File(localDir + File.separator
    + names[i]);
    if (!localfile.exists()) {
    fos = new FileOutputStream(localfile);
    ftpClient.retrieveFile(names[i], fos);
    
    
    } else {
    logger.debug("开始删除文件");
    file.delete();
    logger.debug("文件已经删除");
    fos = new FileOutputStream(localfile);
    ftpClient.retrieveFile(ftpFileName, fos);
    
    
    }
    
    
    }
    }
    } else {
    
    
    File localfile = new File(localDir + File.separator
    + file.getName());
    if (!localfile.exists()) {
    fos = new FileOutputStream(localfile);
    ftpClient.retrieveFile(ftpFileName, fos);
    
    
    } else {
    logger.debug("开始删除文件");
    file.delete();
    logger.debug("文件已经删除");
    fos = new FileOutputStream(localfile);
    ftpClient.retrieveFile(ftpFileName, fos);
    
    
    }
    ftpClient.changeToParentDirectory();
    
    
    }
    
    
    logger.info("下载成功!");
    } catch (SocketException e) {
    logger.error("连接失败!", e);
    } catch (IOException e) {
    logger.error("下载失败!", e);
    }
    
    
    }
    
    
    // 判断是否是目录
    public boolean isDir(String fileName) {
    try {
    // 切换目录,若当前是目录则返回true,否则返回true。
    boolean falg = ftpClient.changeWorkingDirectory(fileName);
    return falg;
    } catch (Exception e) {
    e.printStackTrace();
    logger.error("", e);
    }
    
    return false;
    }
    
    public String getUsername() {
    return username;
    }
    public void setUsername(String username) {
    this.username = username;
    }
    
    public String getPassword() {
    return password;
    }
    public void setPassword(String password) {
    this.password = password;
    }
    
    public String getFtpHostName() {
    return ftpHostName;
    }
    public void setFtpHostName(String ftpHostName) {
    this.ftpHostName = ftpHostName;
    }
    
    
    public int getPort() {
    return port;
    }
    public void setPort(int port) {
    this.port = port;
    }
    public class TestFileUtil {
    
    
    public static void main(String[] args) {
    /**
    * apache common-net实现的
    */
    FtpCollectionUtil ftpUtil = new FtpCollectionUtil("webfocus1",
    "webfocus1", "192.168.0.2", 21);
    
    // /home/webfocus1/apache-tomcat-6.0.37/webapps/NEZA_ROOT/要下载的文件夹。
    ftpUtil.down(
    "/home/webfocus1/apache-tomcat-6.0.37/webapps/NEZA_ROOT/",
    "D://a");
    
    
    
    }
    }
    
    } 
    展开全文
  • java ftp 文件下载

    2017-06-07 23:41:59
    java ftp 远程文件下载
  • java ftp下载

    2014-01-17 11:26:08
    java ftp文件下载。要注意传送模式(此例子是被动模式)
  • java FTP上传下载文件

    2017-09-19 10:23:48
    java ftp 上传下载 文件
  • java FTP服务器文件上传下载,查找文件目录,不存在则添加,创建多级文件夹,java ,demo 直接使用,内有jar包
  • java ftp文件下载

    2019-03-14 16:51:44
    logger.info("文件下载路径pathname={},下载路径dir={},文件名=filename{}",req.getRealPath("/")+"/"+dir+"/"+filename,dir,filename); String filePath=req.getRealPath("/") + File.separatorChar + dir +...
  • Java FTP文件上传下载

    2016-11-10 15:10:54
    Java语言编写的FTP上传下载代码,自己从项目中抽出来的,jar包也在其中,需要的朋友们拿去吧。
  • javaftp上传文件.txt

    2017-11-29 17:10:32
    javaftp上传文件.txt javaftp上传文件.txt javaftp上传文件.txt
  • java 连接linux系统上的ftp服务器,通过java代码上传,下载文件 通过链接ftp,获取文件列表,上传。下载、删除文件功能实现
  • java SSH FTP下载文件

    2013-06-17 14:03:09
    java SSH和 FTP从服务器下载文件到本地.zip
  • 之前在项目上遇到FTP下载(也是从别的文章上弄过来的,忘了从那弄的了,抱歉)的问题,文件名中文太长,文件名中有空格(红色为修改后的代码)。修改后的代码如下: public class FtpUtil { private Logger logger =...
  • JAVA FTP 文件传输 服务端 客户端JAVA FTP 文件传输 服务端 客户端JAVA FTP 文件传输 服务端 客户端
  • Java FTP 实现跨服务器文件上传下载

    热门讨论 2013-11-19 13:44:01
    Java 程序实现的 FTP 跨服务器文件上传下载功能。
  • 今天同事问我一个ftp 上传文件下载文件功能应该怎么做,当时有点懵逼,毕竟我也是第一次,然后装了个逼,在网上找了一段代码发给同事,叫他调试一下。结果悲剧了,运行不通过。(装逼失败) 我找的文章链接:...
  • java下载ftp文件.txt

    2019-06-05 16:11:03
    通过java代码来实现下载ftp服务器文件
  • JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件下载文件 本文简单介绍如何利用FTPClient(在commons-net包中)实现上传下载文件。 FTPUtil工具类,实现上传与下载package com.lwd.util; package ...
  • JAVA FTP文件上传下载删除

    千次阅读 2016-02-03 09:58:57
    Java Web应用中的文件一般由专门的文件服务器管理,Ftp,FastDFS,HDFS等... * 基于Java JDK1.8封装的操作Ftp服务器文件的帮助类,包含基本的上传下载和删除文件。 * 服务器连接信息需要在sysconfig.properties配置文
  • 工作中经常需要登录ftp下载下发数据,前提是需要ftp服务器上的文件已经全部生成后才下载,服务器文件全部生成后会有一个OK文件,判断服务器OK文件是否已经存在来进行下载操作,支持断点下载
  • ftp下载时,执行到ftpClient.retrieveFile(fileName, os); 这个方法就卡死了,在网上找了很多方法也不行, ftpClient.enterLocalPassiveMode(); 加上主动被动都不行,跪求大神帮忙解决 ![图片说明]...
  • java ftp 下载

    千次阅读 2012-08-21 16:33:30
    /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package jcoapp; /** * * @author luolai ...import java.io.DataInputStream;...import java
  • package com.iflytek.ftp.socket;import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java....
  • NULL 博文链接:https://liugaojian13135.iteye.com/blog/837708
  • java FTP下载,兼容linux和Windows环境

    千次阅读 2019-04-17 09:01:23
    java FTP下载,兼容linux和Windows环境 package com.xy.admin.util; import org.apache.commons.net.ftp.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory...
  • 各位大神,我想实现这样一个功能:使用java语言从ftp下载文件,正在下载中的文件使用.tmp后缀标记,下载完成后使用.log.gz,ftp上的文件就是.log.gz文件,请问怎么实现,最好有代码。使用字符串拼接,还有下载完成...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 96,894
精华内容 38,757
关键字:

javaftp下载文件

java 订阅