美文网首页
FTP上传csv文件

FTP上传csv文件

作者: yxktiming | 来源:发表于2018-08-23 18:48 被阅读0次

package com.util;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.Properties;

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


public class FTPUtil {

private static FTPClientftpClient;

private static Propertiesp =new Properties();


/**

    * 获取ftp连接

    */

    private static void connectFtp() {

InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("ftp.properties");

try {

p.load(inputStream);

ftpClient =new FTPClient();

ftpClient.connect(p.getProperty("ftp.address"),21);

ftpClient.login(p.getProperty("ftp.username"),p.getProperty("ftp.password"));

//设置上传目录

ftpClient.changeWorkingDirectory("/");

ftpClient.makeDirectory(p.getProperty("ftp.path"));

ftpClient.changeWorkingDirectory(p.getProperty("ftp.path"));

ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);

ftpClient.setBufferSize(1024);

ftpClient.setControlEncoding("GBK");

}catch (IOException e) {

e.printStackTrace();

}

}


/**

    * ftp上传文件

    *

    * @param file 上传文件

    */

    private static void upload(File file) {

try {

if (file !=null && file.isDirectory()) {

//ftpClient.makeDirectory(file.getName());

//ftpClient.changeWorkingDirectory(file.getName());

                String[] files = file.list();

if (files !=null) {

for (String fileName : files) {

File f =new File(file.getPath() +"/" + fileName);

if (f.isDirectory()) {

upload(f);

ftpClient.changeToParentDirectory();

}else if (f.getName().endsWith(".csv")) {

FileInputStream input =new FileInputStream(f);

ftpClient.storeFile(f.getName(), input);

input.close();

}

}

}

}else if (file !=null && file.getName().endsWith(".csv")) {

FileInputStream input =new FileInputStream(file);

ftpClient.storeFile(file.getName(), input);

input.close();

}

}catch (IOException e) {

e.printStackTrace();

}

}


/**

    * 关闭ftp连接

    */

    private static void closeFtp() {

if (ftpClient !=null &&ftpClient.isConnected()) {

try {

ftpClient.logout();

ftpClient.disconnect();

}catch (IOException e) {

e.printStackTrace();

}

}

}


/**

    * ftp上传文件

    *

    * @param file 上传路径

    */

    public static void uploadFile(File file) {

connectFtp();

upload(file);

closeFtp();

}

}

相关文章

网友评论

      本文标题:FTP上传csv文件

      本文链接:https://www.haomeiwen.com/subject/vjimiftx.html