去服务器的FTP路径下上读取文件

9 篇文章 0 订阅

package com.sinosoft.util;

 

 

import java.io.BufferedReader;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.SocketException;

 

import org.apache.commons.net.ftp.FTPClient;

 

 

public class Ftp {

 

    /**

     * 去 服务器的FTP路径下上读取文件

     * 

     * @param ftpUserName

     * @param ftpPassword

     * @param ftpPath

     * @param FTPServer

     * @return

     */

    public static String readConfigFileForFTP(String ftpUserName, String ftpPassword,

                                              String ftpPath, String ftpHost, int ftpPort,

                                              String fileName) {

        StringBuffer resultBuffer = new StringBuffer();

        InputStream in = null;

        FTPClient ftpClient = null;

        System.out.println("开始读取绝对路径" + ftpPath + "文件!");

        try {

            ftpClient = FTPUtil.getFTPClient(ftpHost, ftpPassword, ftpUserName, ftpPort);

            ftpClient.setControlEncoding("UTF-8"); // 中文支持

            ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);

            ftpClient.enterLocalPassiveMode();

            ftpClient.changeWorkingDirectory(ftpPath);

            in = ftpClient.retrieveFileStream(fileName);

        } catch (FileNotFoundException e) {

            System.out.println("没有找到" + ftpPath + "文件");

            e.printStackTrace();

            return "下载配置文件失败,请联系管理员.";

        } catch (SocketException e) {

            System.out.println("连接FTP失败.");

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

            System.out.println("文件读取错误。");

            e.printStackTrace();

            return "配置文件读取失败,请联系管理员.";

        }

        if (in != null) {

            BufferedReader br = new BufferedReader(new InputStreamReader(in));

            String data = null;

            try {

                while ((data = br.readLine()) != null) {

                    resultBuffer.append(data + "\n");

                }

            } catch (IOException e) {

                System.out.println("文件读取错误。");

                e.printStackTrace();

                return "配置文件读取失败,请联系管理员.";

            } finally {

                try {

                    ftpClient.disconnect();

                } catch (IOException e) {

                    e.printStackTrace();

                }

            }

        } else {

            System.out.println("in为空,不能读取。");

            return "配置文件读取失败,请联系管理员.";

        }

        System.out.println("resultBuffer.toString()=" + resultBuffer.toString());

        return resultBuffer.toString();

    }

 

    public static void main(String[] args) {

        readConfigFileForFTP("dawei", "gjjl302", "Zdy", "218.60.42.207", 21, "upload/22.txt");

    }

 

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值