FTP上传中文设置
来源:互联网 发布:hive元数据存储设计 编辑:程序博客网 时间:2024/05/17 03:16
package com.wq.test;
import java.io.File;
import java.io.FileInputStream;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.commons.net.ftp.FTPReply;
public class upftp {
private FTPClient ftp;
/**
*
* @param path 上传到ftp服务器哪个路径下
* @param addr 地址
* @param port 端口号
* @param username 用户名
* @param password 密码
* @return
* @throws Exception
*/
private boolean connect(String path,String addr,int port,String username,String password) throws Exception {
boolean result = false;
ftp = new FTPClient();
int reply;
ftp.connect(addr,port);
ftp.login(username,password);
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return result;
}
ftp.changeWorkingDirectory(path);
result = true;
return result;
}
/**
*
* @param file 上传的文件或文件夹
* @throws Exception
*/
private void upload(File file) throws Exception{
if(file.isDirectory()){
ftp.makeDirectory(file.getName());
ftp.changeWorkingDirectory(file.getName());
String[] files = file.list();
for (int i = 0; i < files.length; i++) {
File file1 = new File(file.getPath()+"\\"+files[i] );
if(file1.isDirectory()){
upload(file1);
ftp.changeToParentDirectory();
}else{
File file2 = new File(file.getPath()+"\\"+files[i]);
System.out.println(files[i]);
System.out.println(file2.getName());
FileInputStream input = new FileInputStream(file2);
String name;
name=new String(file2.getName().getBytes("GBK"),"iso-8859-1");// 转换后的目录名或文件名。
ftp.storeFile(name, input);
input.close();
}
}
}else{
File file2 = new File(file.getPath());
FileInputStream input = new FileInputStream(file2);
ftp.storeFile(file2.getName(), input);
input.close();
}
}
public static void main(String[] args) throws Exception{
upftp t = new upftp();
System.out.println(1111111);
String name="公司文档/献血服务发展部/WeChat/Realse/V2.1.0.0";
name=new String(name.getBytes("GBK"),"iso-8859-1");// 转换后的目录名或文件名。
System.out.println(name);
t.connect(name, "172.0.0.34", 21, "yourname", "passwd");
File file = new File(args[0]);
t.upload(file);
}
import java.io.File;
import java.io.FileInputStream;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.commons.net.ftp.FTPReply;
public class upftp {
private FTPClient ftp;
/**
*
* @param path 上传到ftp服务器哪个路径下
* @param addr 地址
* @param port 端口号
* @param username 用户名
* @param password 密码
* @return
* @throws Exception
*/
private boolean connect(String path,String addr,int port,String username,String password) throws Exception {
boolean result = false;
ftp = new FTPClient();
int reply;
ftp.connect(addr,port);
ftp.login(username,password);
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return result;
}
ftp.changeWorkingDirectory(path);
result = true;
return result;
}
/**
*
* @param file 上传的文件或文件夹
* @throws Exception
*/
private void upload(File file) throws Exception{
if(file.isDirectory()){
ftp.makeDirectory(file.getName());
ftp.changeWorkingDirectory(file.getName());
String[] files = file.list();
for (int i = 0; i < files.length; i++) {
File file1 = new File(file.getPath()+"\\"+files[i] );
if(file1.isDirectory()){
upload(file1);
ftp.changeToParentDirectory();
}else{
File file2 = new File(file.getPath()+"\\"+files[i]);
System.out.println(files[i]);
System.out.println(file2.getName());
FileInputStream input = new FileInputStream(file2);
String name;
name=new String(file2.getName().getBytes("GBK"),"iso-8859-1");// 转换后的目录名或文件名。
ftp.storeFile(name, input);
input.close();
}
}
}else{
File file2 = new File(file.getPath());
FileInputStream input = new FileInputStream(file2);
ftp.storeFile(file2.getName(), input);
input.close();
}
}
public static void main(String[] args) throws Exception{
upftp t = new upftp();
System.out.println(1111111);
String name="公司文档/献血服务发展部/WeChat/Realse/V2.1.0.0";
name=new String(name.getBytes("GBK"),"iso-8859-1");// 转换后的目录名或文件名。
System.out.println(name);
t.connect(name, "172.0.0.34", 21, "yourname", "passwd");
File file = new File(args[0]);
t.upload(file);
}
}
关键代码解析
上传文件部分
String name;
name=new String(file2.getName().getBytes("GBK"),"iso-8859-1");// 转换后的目录名或文件名。
ftp.storeFile(name, input);
将所有文件转码
上传路径部分
String name="公司文档//Realse/V2.1.0.0";
name=new String(name.getBytes("GBK"),"iso-8859-1");// 转换后的目录名或文件名。
将所有路径转码
0 0
- FTP上传中文设置
- FTP中文文件上传
- FTP上传中文文件到中文路径
- ftp上传的二进制设置
- FTP 文件上传 解决中文乱码
- ftp上传中文文件夹提示错误550
- java ftp文件上传中文乱码问题
- ubuntu wordpress 插件上传 ftp 用户密码设置
- windows ftp 上传到 linux 中文件内容改变
- java上传文件到ftp-解决中文乱码的问题
- Java实现FTP中文件上传和下载
- java-ftp 上传、删除文件(支持中文目录、文件名)
- java中ftp文件上传和中文乱码解决
- 解决,文件上传到 ftp 服务器,中文出现乱码问题
- 文件名含中文,上传到FTP文件服务器文件名乱码 linux
- java中ftp文件上传和中文乱码解决
- Java-ftp支持中文目录、文件名的 上传、删除文件
- ftp上传
- Robot Framework自动化测试-切换浏览器
- 在VS2008环境下的C++异常处理
- 数学问题:2 2 2 = 6……
- android怎样调用@hide和internal API
- 容器启动方法幂等性事故
- FTP上传中文设置
- MATLAB学习笔记之-----数组、矩阵、向量索引和逻辑索引
- 成为一个有目标的学习者
- JSON.parse()和JSON.stringify()
- C/C++结构体内存分配问题详解
- MySQL--事务
- Lock和Synchronized区别
- 什么是Activity?
- Python装饰器详解