FTP上传中文文件到中文路径
来源:互联网 发布:鼎捷软件家具行业 编辑:程序博客网 时间:2024/05/17 06:45
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, "0063", "111111");
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, "0063", "111111");
File file = new File(args[0]);
t.upload(file);
}
}
关键信息,所有中文都转码就ok了
0 0
- FTP上传中文文件到中文路径
- FTP中文文件上传
- java上传文件到ftp-解决中文乱码的问题
- 解决,文件上传到 ftp 服务器,中文出现乱码问题
- FTP 文件上传 解决中文乱码
- java ftp文件上传中文乱码问题
- FTP上传中文设置
- jsp页面上传文件到servlet获取到路径中有中文出现乱码
- ftp文件上传,可以上传至非根目录的指定目录,并解决文件中文无法上传问题,返回文件路径
- windows ftp 上传到 linux 中文件内容改变
- 文件名含中文,上传到FTP文件服务器文件名乱码 linux
- WINDOWS上传文件到LINUX中文乱码
- FTP传输中文路径问题
- java-ftp 上传、删除文件(支持中文目录、文件名)
- java中ftp文件上传和中文乱码解决
- java中ftp文件上传和中文乱码解决
- Java-ftp支持中文目录、文件名的 上传、删除文件
- 上传文件到FTP
- 深度学习笔记六:常见激活函数总结
- SyntaxError: inconsistent use of tabs and spaces in indentation
- Mysql配置信息
- spring 配置xml连接数据库,出现 java.lang.NoClassDefFoundError: Lorg/apache/commons/pool/impl/GenericObjectPool
- 3步告别忙累压力大没成绩
- FTP上传中文文件到中文路径
- 实现 Android 沉浸式状态栏 (低版本Android)
- JavaScript_JSON的总结
- HP DL380服务器RAID信息丢失数应该如何进行数据恢复
- 如何将你的 MySQL 查询速度提升 300 倍
- 归并排序递归和非递归
- 直接线性变换(DLT)求解单应性矩阵
- 软件需求文档模板2
- Eclipse Maven工程报错:An error occurred while filtering resources