Windows7下ftp服务器 1. 创建用户 2. 创建ftp服务 3. 管理ftp站点 4. 权限编辑 5. 绑定iP和端口 6. 访问 7. Java代码上传文件

 Windows7下ftp服务器
1. 创建用户
2. 创建ftp服务
3. 管理ftp站点
4. 权限编辑
5. 绑定iP和端口
6. 访问
7. Java代码上传文件

2. 创建ftp服务

Windows7下ftp服务器
1. 创建用户
2. 创建ftp服务
3. 管理ftp站点
4. 权限编辑
5. 绑定iP和端口
6. 访问
7. Java代码上传文件

 Windows7下ftp服务器
1. 创建用户
2. 创建ftp服务
3. 管理ftp站点
4. 权限编辑
5. 绑定iP和端口
6. 访问
7. Java代码上传文件

Windows7下ftp服务器
1. 创建用户
2. 创建ftp服务
3. 管理ftp站点
4. 权限编辑
5. 绑定iP和端口
6. 访问
7. Java代码上传文件

3. 管理ftp站点

 Windows7下ftp服务器
1. 创建用户
2. 创建ftp服务
3. 管理ftp站点
4. 权限编辑
5. 绑定iP和端口
6. 访问
7. Java代码上传文件

Windows7下ftp服务器
1. 创建用户
2. 创建ftp服务
3. 管理ftp站点
4. 权限编辑
5. 绑定iP和端口
6. 访问
7. Java代码上传文件

4. 权限编辑

Windows7下ftp服务器
1. 创建用户
2. 创建ftp服务
3. 管理ftp站点
4. 权限编辑
5. 绑定iP和端口
6. 访问
7. Java代码上传文件

Windows7下ftp服务器
1. 创建用户
2. 创建ftp服务
3. 管理ftp站点
4. 权限编辑
5. 绑定iP和端口
6. 访问
7. Java代码上传文件

5. 绑定iP和端口

 Windows7下ftp服务器
1. 创建用户
2. 创建ftp服务
3. 管理ftp站点
4. 权限编辑
5. 绑定iP和端口
6. 访问
7. Java代码上传文件

Windows7下ftp服务器
1. 创建用户
2. 创建ftp服务
3. 管理ftp站点
4. 权限编辑
5. 绑定iP和端口
6. 访问
7. Java代码上传文件

6. 访问

Windows7下ftp服务器
1. 创建用户
2. 创建ftp服务
3. 管理ftp站点
4. 权限编辑
5. 绑定iP和端口
6. 访问
7. Java代码上传文件

7. Java代码上传文件

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import org.json.JSONArray;
import org.json.JSONObject;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import commonj.sdo.DataObject;
public class FtpFileUpUtil {
    
    public static String CODE="GBK";

    /**
     * 上传文件
     * 
     * @param hostname ftp服务器地址
     * @param port ftp服务器端口号
     * @param username ftp登录账号
     * @param password ftp登录密码
     * @param pathname ftp服务保存地址
     * @param fileName 上传到ftp的文件名
     * @param inputStream 输入文件流
     * @return
     */
    public static boolean uploadFile(String hostname, int port,String username, String password,String fileName,InputStream inputStream) {
        boolean flag = false;
        FTPClient ftpClient = new FTPClient();
//        ftpClient.setControlEncoding(CODE);
        try {
            ftpClient.connect(hostname, port); // 连接ftp服务器
            ftpClient.login(username, password); // 登录ftp服务器
            int replyCode = ftpClient.getReplyCode(); // 是否成功登录服务器
            if (!FTPReply.isPositiveCompletion(replyCode)) {
                return flag;
            }
            ftpClient.setFileType(ftpClient.BINARY_FILE_TYPE);
//            ftpClient.makeDirectory(new String(pathname.getBytes(CODE),"iso-8859-1"));
//            ftpClient.changeWorkingDirectory(new String(pathname.getBytes(CODE),"iso-8859-1"));
        //ftpClient.enterLocalPassiveMode();//client告诉ftp server开通一个端口来传输数据,防止有的ftp服务器乱搞,因为ftp server可能每次开启不同的端口来传输数据,但是在linux上或者其他服务器上面,由于安全限制,可能某些端口没有开启,所以就出现阻塞
ftpClient.storeFile(new String(fileName.getBytes(CODE),"iso-8859-1"), inputStream); inputStream.close(); ftpClient.logout(); flag = true; } catch (Exception e) { e.printStackTrace(); } finally { if (ftpClient.isConnected()) { try { ftpClient.disconnect(); } catch (IOException e) { e.printStackTrace(); } } } return true; } /** * * 上传文件(可对文件进行重命名) * * @param hostname FTP服务器地址 * * @param port FTP服务器端口号 * * @param username FTP登录帐号 * * @param password FTP登录密码 * * @param pathname FTP服务器保存目录 * * @param originfilename 待上传文件的名称(绝对地址) * * @return */ public static boolean uploadFileFromProduction(String hostname, int port,String username, String password,String filename,String originfilename) { boolean flag = false; try { InputStream inputStream = new FileInputStream(new File(originfilename)); flag = uploadFile(hostname, port, username, password,filename, inputStream); } catch (Exception e) { e.printStackTrace(); } return flag; } }