Java实现文件上传到服务器(FTP方式)详解编程语言
2023-06-13 09:11:43 时间
//获取客户端数据文件路径
String client_path = Pub.getPropertiesValue("analysis", "analysis.client.data.path");
//获取数据库服务器上的存放数据文件路径
String server_path = Pub.getPropertiesValue("analysis", "analysis.server.data.path");
String hostname = Pub.getPropertiesValue("analysis", "ftp.hostname");
String ftpusername = Pub.getPropertiesValue("analysis", "ftp.username");
String ftppwd = Pub.getPropertiesValue("analysis", "ftp.pwd");
int port = 21;
logger.info("ftp server infor:hostname:"+hostname+" ftpusername:"+ftpusername+" ftppwd:"+ftppwd+" port:"+port);
//遍历客户端数据文件路径下的txt文件,然后采用FTP上传
File client_dir = new File(client_path);
if(!client_dir.exists()){
logger.info("The file directory on the host you want to read does not exist");
return flag;
File client_files[] = client_dir.listFiles();
if(client_files.length == 0){
logger.info("You want to read the file directory without any files");
return flag;
//开始遍历文件
//创建ftp客户端
FTPClient ftpClient = new FTPClient();
ftpClient.setControlEncoding("GBK");
for(int i=0;i client_files.length;i++){
String getfileName = client_files[i].getName();
String getfileNamePath = client_files[i].getPath();
//只对txt文件做处理
if((getfileName.substring(getfileName.lastIndexOf(".")).trim().equals(".txt"))){
//todo:增加控制文件(已经传输过的文件)的传输
try {
//链接ftp服务器
ftpClient.connect(hostname, port);
//登录ftp
ftpClient.login(ftpusername, ftppwd);
int reply = ftpClient.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftpClient.disconnect();
logger.info("Returns a 530 password username error or the current user does not have permission to close the FTP connection");
return false;
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
// ftpClient.makeDirectory("path");//在root目录下创建文件夹
String server_file_name = server_path+ getfileName;
logger.info("server_file_name : " + server_file_name);
logger.info("getfileNamePath : " + getfileNamePath);
//读取源文件流(客户端文件)
InputStream client_fileInput = new FileInputStream(getfileNamePath);
//传送到服务端
ftpClient.storeFile(server_file_name, client_fileInput);//文件你若是不指定就会上传到root目录下
client_fileInput.close();
ftpClient.logout();
logger.info("ftp is success");
} catch (SocketException e) {
// TODO Auto-generated catch block
logger.info("port problem: "+e.toString());
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
logger.info("IO problem: "+e.toString());
e.printStackTrace();
} catch (Exception e) {
logger.info("ftp problem: "+e.toString());
e.printStackTrace();
}finally {
if (ftpClient.isConnected()) {
try {
ftpClient.disconnect();
} catch (IOException ioe) {
ioe.printStackTrace();
logger.info("IO problem: "+ioe.toString());
return flag;
}
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/16823.html
cgojava相关文章
- java局域网发送文件_Java如何实现局域网文件传输代码案例分享
- java 四舍五入运算_JAVA正确的四舍五入方法「建议收藏」
- java数组的声明_Java数组定义常用方法[通俗易懂]
- 写给大忙人看的 – Java中上传文件MinIO服务器(2)
- java运行环境_如何搭建Java运行环境?
- Java文件路径/服务器路径的获取
- Java遍历json_java处理json数据
- java 上传文件到服务器_ameqp服务器网址
- java list 转json 字符串_Java之JSON字符串与List集合之间相互转换
- web大文件上传解决方案_java上传文件到服务器
- java 异或加密_Java异或技操作给任意的文件加密原理及使用详解
- Java学习--Win11配置环境变量
- 【Android 安全】DEX 加密 ( Java 工具开发 | apk 文件签名 )
- Java远程连接Linux服务器并执行命令及上传文件详解编程语言
- Java解析XML文件详解编程语言
- 服务器是否开机Java检查Linux服务器开机状态(java判断linux)
- Java编程实现MySQL表备份(java备份mysql表)
- 如何在Linux系统中指定Java版本(linux指定java)
- Oracle数据库中调用Java实现可扩展应用程序(oracle内嵌java)
- 并发Redis锁保障Java并发性(redis锁实现java)
- java判断远程服务器上的文件是否存在的方法
- java读取csv文件和写csv示例分享