1. 创建用户

2. 创建ftp服务

3. 管理ftp站点

4. 权限编辑

5. 绑定iP和端口

6. 访问

7. Java代码上传文件

  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.io.OutputStream;
  7. import java.io.UnsupportedEncodingException;
  8. import java.util.ArrayList;
  9. import java.util.HashMap;
  10. import java.util.List;
  11. import java.util.Map;
  12. import java.util.StringTokenizer;
  13.  
  14. import org.apache.commons.net.ftp.FTPClient;
  15. import org.apache.commons.net.ftp.FTPFile;
  16. import org.apache.commons.net.ftp.FTPReply;
  17. import org.json.JSONArray;
  18. import org.json.JSONObject;
  19. import com.alibaba.fastjson.JSON;
  20. import com.alibaba.fastjson.serializer.SerializerFeature;
  21. import commonj.sdo.DataObject;
  22. public class FtpFileUpUtil {
  23.  
  24. public static String CODE="GBK";
  25.  
  26. /**
  27. * 上传文件
  28. *
  29. * @param hostname ftp服务器地址
  30. * @param port ftp服务器端口号
  31. * @param username ftp登录账号
  32. * @param password ftp登录密码
  33. * @param pathname ftp服务保存地址
  34. * @param fileName 上传到ftp的文件名
  35. * @param inputStream 输入文件流
  36. * @return
  37. */
  38. public static boolean uploadFile(String hostname, int port,String username, String password,String fileName,InputStream inputStream) {
  39. boolean flag = false;
  40. FTPClient ftpClient = new FTPClient();
  41. // ftpClient.setControlEncoding(CODE);
  42. try {
  43. ftpClient.connect(hostname, port); // 连接ftp服务器
  44. ftpClient.login(username, password); // 登录ftp服务器
  45. int replyCode = ftpClient.getReplyCode(); // 是否成功登录服务器
  46. if (!FTPReply.isPositiveCompletion(replyCode)) {
  47. return flag;
  48. }
  49. ftpClient.setFileType(ftpClient.BINARY_FILE_TYPE);
  50. // ftpClient.makeDirectory(new String(pathname.getBytes(CODE),"iso-8859-1"));
  51. // ftpClient.changeWorkingDirectory(new String(pathname.getBytes(CODE),"iso-8859-1"));
            //ftpClient.enterLocalPassiveMode();//client告诉ftp server开通一个端口来传输数据,防止有的ftp服务器乱搞,因为ftp server可能每次开启不同的端口来传输数据,但是在linux上或者其他服务器上面,由于安全限制,可能某些端口没有开启,所以就出现阻塞
  52. ftpClient.storeFile(new String(fileName.getBytes(CODE),"iso-8859-1"), inputStream);
  53. inputStream.close();
  54. ftpClient.logout();
  55. flag = true;
  56. } catch (Exception e) {
  57. e.printStackTrace();
  58. } finally {
  59. if (ftpClient.isConnected()) {
  60. try {
  61. ftpClient.disconnect();
  62. } catch (IOException e) {
  63. e.printStackTrace();
  64. }
  65. }
  66.  
  67. }
  68. return true;
  69. }
  70.  
  71. /**
  72. * * 上传文件(可对文件进行重命名) *
  73. * @param hostname FTP服务器地址 *
  74. * @param port FTP服务器端口号 *
  75. * @param username FTP登录帐号 *
  76. * @param password FTP登录密码 *
  77. * @param pathname FTP服务器保存目录 *
  78. * @param originfilename 待上传文件的名称(绝对地址) *
  79. * @return
  80. */
  81. public static boolean uploadFileFromProduction(String hostname, int port,String username, String password,String filename,String originfilename) {
  82. boolean flag = false;
  83. try {
  84. InputStream inputStream = new FileInputStream(new File(originfilename));
  85. flag = uploadFile(hostname, port, username, password,filename, inputStream);
  86. } catch (Exception e) {
  87. e.printStackTrace();
  88. }
  89. return flag;
  90. }
  91.  
  92. }

Windows7下ftp服务器的更多相关文章

  1. 《Linux下FTP服务器搭建及FTP使用》

    .LOGAndy:mxtd114 <Linux下FTP服务器搭建> 0.root登录 1.安装ftp # yum -y install ftp 2.安装vsftpd # yum -y in ...

  2. SUSE下FTP服务器搭建

    FTP(File Transfer Protocol),是TCP/IP网络上两台计算机传送文件的协议,是在TCP/IP网络和Internet上最早使用的协议之一,属于网络协议组的应 用层.FTP客户机 ...

  3. Ubantu下FTP服务器资源进行控制

    在FTP服务器的管理中无论对本地用户还是匿名用户,对于FTP服务器资源的使用都需要进行控控制, 避免由于负担过大造成FTP服务器运行异常, 可以添加以下配置项对FTP客户机使用FTP服务器资源进行控制 ...

  4. Windows server 2008系统下FTP服务器的安装

    一.在 Windows 服务器上安装 FTP 服务 1. 在"开始"菜单上,单击"管理工具",然后单击"服务器管理器". 2. 在" ...

  5. linux下FTP服务器搭建教程1

    你买了个主机就像是买了块地皮,搭建FTP就像是盖房子,我在地皮上建房子,然后创建的用户就像是钥匙,我给谁钥匙(权限),谁就可以到我家去玩,去放东西,拿东西. 虽然我们买不起现实的房子,但是我们可以买互 ...

  6. LNMP下FTP服务器的安装和使用(Pureftpd和Proftpd)

    FTP是网站文件维护中使用比较多的,目前LNMP一键安装包中有Pureftpd和Proftpd服务器安装脚本,LNMP默认不安装任何FTP服务器,需要用户自行安装(1.2开始不再提供proftpd的安 ...

  7. 写给大忙人的centos下ftp服务器搭建(以及启动失败/XFTP客户端一直提示“用户身份验证失败”解决方法)

    注:个人对偏向于底层基本上拿来就用的应用,倾向于使用安装包,直接yum或者rpm安装:而对于应用层面控制较多或者需要大范围维护的,倾向于直接使用tar.gz版本. 对于linux下的ftp服务器,实际 ...

  8. linux系统下FTP服务器的安装和配置

    FTP是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议.简单地说,支持FTP协议的服务器就是FTP服务器. PORT模式: 首先客户端开启一个非特权端口N(大 ...

  9. Windows下ftp服务器搭建及配置

    Win系统使用ser-u软件进行FTP服务器的搭建下载地址:https://www.serv-u.com/操作步骤如下:1. 点击执行程序进行按照SU-FTP-Server-Windows-v15.1 ...

随机推荐

  1. 关于Qt模态框总汇

    转载请注明出处:http://www.cnblogs.com/dachen408/p/7285710.html 父窗体为QMainWindow: 当子窗体为: 1.QWidget,需要设置 this- ...

  2. ubuntu下pycharm无法使用pip安装python包的修复方案

    1. 在pycharm 中安装python包会报错“pycharm ModuleNotFoundError: No module named 'distutils.core'”: 2. 可能原因:in ...

  3. [驱动] 一个简单内核驱动,通过qemu调试(1)

    模块 通过在HOST上修改linux kernel源代码,重新编译一个vmlinux,然后,通过qemu根据这个bzImage 启动一个vm,进行调试 #cat drivers/char/test.c ...

  4. No-5.变量的命名

    变量的命名 目标 标识符和关键字 变量的命名规则 0.1 标识符和关键字 1.1 标识符 标示符就是程序员定义的 变量名.函数名 名字 需要有 见名知义 的效果 标示符可以由 字母.下划线 和 数字  ...

  5. mysql出现问题汇总(持续更新)

    1.mysql -uqwe -p普通用户登陆时提示: ERROR 1045 (28000): Access denied for user 'baijie'@'%' (using password: ...

  6. Go:二分查找

    package main import "fmt" func BinarySearch(arr *[5]int, leftIndex int, rightIndex int, fi ...

  7. linux core dump 生成和调试

    core dump 某些信号的产生会导致产生core dump,包含了进程终止时的内存镜像.在某些时候这个core文件就非常的有用处,配合gdb或者lldb调试起来非常方便. 更详细的文档参考 Lin ...

  8. assert.deepStrictEqual()

    assert.deepStrictEqual(actual, expected[, message]) 一般情况下等同于 assert.deepEqual(),但有两个例外.首先,原始值是使用全等运算 ...

  9. java使用ant.jar解压缩文件

    ant.jar下载地址http://ant.apache.org/bindownload.cgi 压缩文件代码: import org.apache.tools.ant.Project; import ...

  10. Auto-Encoders实战

    目录 Outline Auto-Encoder 创建编解码器 训练 Outline Auto-Encoder Variational Auto-Encoders Auto-Encoder 创建编解码器 ...