使用Apache-FTPClient完成文件上传和从配置文件中读取properties的使用
2017-07-12 23:09
585 查看
/**
文件的上传
package com.mmall.util;
import org.apache.commons.net.ftp.FTPClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;
/**
* Created
*/
public class FTPUtil {
// 通过配置文件的形势从配置文件中读取value值
private static String ftpIp = PropertiesUtil.getProperty(“ftp.server.ip”);
private static String ftpUser = PropertiesUtil.getProperty(“ftp.user”);
private static String ftpPass = PropertiesUtil.getProperty(“ftp.pass”);
}
/**从配置文件中读取properties的使用
package com.mmall.util;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Properties;
/**
* Created by yangtianrui
*/
public class PropertiesUtil {
}
文件的上传
package com.mmall.util;
import org.apache.commons.net.ftp.FTPClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;
/**
* Created
*/
public class FTPUtil {
private static final Logger logger = LoggerFactory.getLogger(FTPUtil.class);
// 通过配置文件的形势从配置文件中读取value值
private static String ftpIp = PropertiesUtil.getProperty(“ftp.server.ip”);
private static String ftpUser = PropertiesUtil.getProperty(“ftp.user”);
private static String ftpPass = PropertiesUtil.getProperty(“ftp.pass”);
public FTPUtil(String ip, int port, String user, String pwd){ this.ip = ip; this.port = port; this.user = user; this.pwd = pwd; } public static boolean uploadFile(List<F 4000 ile> fileList) throws IOException { FTPUtil ftpUtil = new FTPUtil(ftpIp,21,ftpUser,ftpPass); logger.info("开始连接ftp服务器"); boolean result = ftpUtil.uploadFile("img",fileList); logger.info("开始连接ftp服务器,结束上传,上传结果:{}"); return result; } private boolean uploadFile(String remotePath,List<File> fileList) throws IOException { boolean uploaded = true; FileInputStream fis = null; //连接FTP服务器 if(connectServer(this.ip,this.port,this.user,this.pwd)){ try { // 设置上传路径 ftpClient.changeWorkingDirectory(remotePath); // 设置文件的缓存打大小 ftpClient.setBufferSize(1024); ftpClient.setControlEncoding("UTF-8"); // 文件存储类型 二进制文件 ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); // 告诉ftp服务器每次传输要连接一个新的连接 ftpClient.enterLocalPassiveMode(); for(File fileItem : fileList){ fis = new FileInputStream(fileItem); ftpClient.storeFile(fileItem.getName(),fis); } } catch (IOException e) { logger.error("上传文件异常",e); uploaded = false; e.printStackTrace(); } finally { fis.close(); ftpClient.disconnect(); } } return uploaded; } private boolean connectServer(String ip,int port,String user,String pwd){ boolean isSuccess = false; ftpClient = new FTPClient(); try { ftpClient.connect(ip); isSuccess = ftpClient.login(user,pwd); } catch (IOException e) { logger.error("连接FTP服务器异常",e); } return isSuccess; } private String ip; private int port; private String user; private String pwd; private FTPClient ftpClient; public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public int getPort() { return port; } public void setPort(int port) { this.port = port; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public FTPClient getFtpClient() { return ftpClient; } public void setFtpClient(FTPClient ftpClient) { this.ftpClient = ftpClient; }
}
/**从配置文件中读取properties的使用
package com.mmall.util;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Properties;
/**
* Created by yangtianrui
*/
public class PropertiesUtil {
private static Logger logger = LoggerFactory.getLogger(PropertiesUtil.class); private static Properties props; // 读取属性文件 静态块 static { String fileName = "mmall.properties"; props = new Properties(); try { props.load(new InputStreamReader(PropertiesUtil.class.getClassLoader().getResourceAsStream(fileName),"UTF-8")); } catch (IOException e) { logger.error("配置文件读取异常",e); } } public static String getProperty(String key){ String value = props.getProperty(key.trim()); if(StringUtils.isBlank(value)){ return null; } return value.trim(); } public static String getProperty(String key,String defaultValue){ String value = props.getProperty(key.trim()); if(StringUtils.isBlank(value)){ value = defaultValue; } return value.trim(); }
}
相关文章推荐
- nginx+tomcat使用apache的FtpClient上传图片时由于多线程问题导致的文件大小为0的问题
- nginx+tomcat使用apache的FtpClient上传图片时由于多线程问题导致的文件大小为0的问题
- ArrayList 与HashSet的比较,及应用反射读取properties配置文件中的数据进行实例化再调用,以及类加载器的使用;还有HashCode的分析,及导致内存泄露,内存溢出的原因之一
- Spring 使用配置文件读取jdbc.properties
- Java使用properties读取配置文件
- Spring使用配置文件读取jdbc.properties
- JAVA中使用FTPClient实现文件上传下载
- linux使用ftpclient文件上传遇到的问题
- 使用FTP命令自动完成文件的上传和下载
- apache ftpClient 文件上传
- 用Properties读取配置文件后,使用TreeMap对keys进行排序
- 使用FtpClient类实现FTP文件上传下载
- Spring 使用配置文件读取jdbc.properties
- apache ftpClient 多网卡上传文件超时解决。
- 使用Properties从配置文件中读取数…
- org.apache.commons.net.ftp.FTPClient上传文件大小改变的解决方法
- 编写一个文件,读取 src 下面day12包 下面的my.properties 文件,文件内容如下, className=day12.User 结合 IO、反射知识,完成 配置文件中对象的创建和方法调用。并编写方法,列举出 Student 类中所有的属性、
- JAVA中使用FTPClient实现文件上传下载
- 使用FTPClient文件上传下载遇到的问题
- 使用帮助类读取配置文件(*.properties)