利用FTP工具来实现数据传输教程
1. 进入虚拟桌面系统
2. 双击执行桌面上的 FTP 工具启动 FTP 服务
3. 默认的上传目录是 C:\FTP 上传目录 4. 如需要可点击用户帐户按钮,改变默认上传目录
2
5. 原来的电脑上启动 FTP 上传工具 6. 点击左上角的会话下的快速联接
3
7. 联接到虚拟桌面的 FTP 服务器
地址:虚拟桌面的具体 IP 地址,这里是 10.70.235.133 用户名:lhyt 密码:1111111 8. 登陆成功
4
9. 选择要上传的文件 10. 将要左边的要上传的文件或文件夹拖到右边
5
11. 上传完毕 12. 可虚拟桌面的 FTBiblioteka 上传目录中看到文件或文件夹6
windows ftp用法
windows ftp用法Windows 操作系统内置了一个 FTP 客户端,可以用于连接和管理 FTP 服务器。
以下是使用 Windows FTP 的基本用法:1. 打开 Windows FTP:在 Windows 操作系统中,可以通过在搜索框中输入 "ftp" 来打开 FTP 客户端。
2. 连接到 FTP 服务器:在 FTP 客户端中,点击 "File" 菜单,然后选择 "Connect to Server" 或者直接点击 "Quick Connect" 按钮。
在弹出的对话框中,输入 FTP 服务器的地址、用户名和密码,然后点击 "Connect" 按钮。
3. 上传文件:连接到 FTP 服务器后,可以通过点击 "Local File" 窗口,选择要上传的文件,然后点击 "Upload" 按钮,将文件上传到 FTP 服务器上。
4. 下载文件:可以通过点击 "Remote File" 窗口,选择要下载的文件,然后点击"Download" 按钮,将文件下载到本地计算机上。
5. 管理文件和文件夹:可以通过点击 "Remote File" 窗口,使用 FTP 客户端提供的文件和文件夹管理工具,对 FTP 服务器上的文件和文件夹进行管理,例如创建、删除、重命名等操作。
6. 断开连接:在完成文件上传和下载后,可以通过点击 "File" 菜单,然后选择"Disconnect" 来断开与 FTP 服务器的连接。
需要注意的是,FTP 协议是一种不安全的协议,传输过程中的数据是以明文形式传输的,因此不建议在传输敏感数据时使用 FTP。
如果需要传输敏感数据,建议使用更安全的文件传输协议,例如 SFTP 或 HTTPS。
Win10如何搭建FTP服务器以实现快速传输文件
Win10如何搭建FTP服务器以实现快速传输文件服务器是一种高性能计算机,作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。
那么Win10如何搭建FTP服务器以实现快速传输文件。
下面就给大家讲解Win10搭建FTP服务器的详细操作方法。
Win10如何搭建FTP服务器以实现快速传输文件?1、首先,我们在Cortana中搜索控制面板并进入;2、在控制面板-程序中,点击启用或关闭Windows功能;3、在FTP服务器、Web管理工具和Internet Information Services可承载的Web核心前打上勾,点击确定,等待安装;4、安装完成后,在Cortana中搜索计算机管理并进入;5、在左侧找到服务和应用程序-Internet Information Services(IIS)管理器,点击进入,你可以在连接一栏看到你的计算机名称(小编这里是DESKTOP-LEU8V22),点击该计算机名左侧的展开按钮,右键单击网站,选择添加FTP站点;6、此时,你将进入FTP站点添加向导。
首先,向导将要求你填写FTP站点名称和设置FTP内容目录,FTP站点名称可以挑你喜欢的填,小编这里填写的是ftp Server,ftp内容目录也可选择自己喜欢的任意文件夹,小编选择的是C:\inetpub\ftproot;7、填写好FTP站点名称,设置完FTP内容目录后,点击确定按钮,再点击下一步;8、点击下一步后,先不要急着继续,我们来查一下电脑的IP地址,在Cortana中搜索命令提示符并进入;9、输入命令ipconfig,回车,你将看到你电脑的IP地址,小编这里的IP地址是192.168.1.251,记住这一串数字,接下来用得到。
10、我们回到FTP站点添加向导,设置绑定和SSL。
IP地址栏输入刚刚查到的IP地址,端口保持为21不变,启用虚拟主机名项可以不必勾选,自动启动FTP站点可以勾选,SSL可以选择无SSL,操作完成后点击下一步;11、接下来FTP站点添加向导将要求你填写身份验证和授权信息,勾选身份验证下的匿名和基本两项前的复选框,允许访问项设置为所有用户,勾选读取和写入权限前的复选框,点击完成。
FTP(文件传输协议)的原理与实现
FTP(文件传输协议)的原理与实现FTP,即文件传输协议(File Transfer Protocol),是一种用于在计算机网络中进行文件传输的应用层协议。
它允许用户通过客户端和服务器之间进行文件的上传、下载和删除等操作。
本文将介绍FTP的原理和实现。
一、FTP的原理FTP的原理基于客户端-服务器(client-server)模型。
客户端和服务器通过FTP协议进行通信,客户端发出命令请求,服务器进行相应的处理并返回结果。
FTP采用不同的连接来进行数据传输和命令传输。
1. 命令传输连接命令传输连接是客户端和服务器之间进行命令交互的通道。
客户端通过该连接发送各种FTP命令,如登录、目录操作、文件操作等。
服务器接收到命令后执行对应的操作,并返回结果给客户端。
该连接使用TCP协议的默认端口号21。
2. 数据传输连接数据传输连接用于在客户端和服务器之间传输文件内容。
FTP支持两种方式的数据传输:主动模式(Active Mode)和被动模式(Passive Mode)。
- 主动模式:客户端向服务器发起数据传输连接,在该连接上进行文件的传输。
客户端随机选择一个端口并通过PORT命令告知服务器。
服务器返回连接确认请求,然后在该连接上进行数据的传输。
主动模式需要客户端开放一个端口用于接收服务器的连接。
- 被动模式:服务器向客户端发起数据传输连接,在该连接上进行文件的传输。
客户端发送PASV命令给服务器,服务器在随机开放的端口上等待客户端的连接。
客户端接收到服务器的地址和端口信息后,通过该地址和端口和服务器进行数据传输。
被动模式通过服务器来建立数据传输连接,适用于客户端无法开放端口的情况(如在防火墙后)。
通过命令传输连接和数据传输连接的组合,客户端和服务器可以实现文件的上传、下载和删除等功能。
二、FTP的实现FTP的实现涉及到客户端和服务器端的开发。
下面分别介绍两者的实现要点。
1. 客户端实现客户端实现主要包括以下几个方面的工作:- 用户界面设计:客户端需要提供一个用户界面供用户输入FTP服务器地址、用户名和密码等信息,并显示服务器返回的文件列表及操作结果等信息。
讲解FlshFXP(FTP工具)利用教程
Ftp工具—远程服务器对传工具有很多,诸如8UFtp、CuteFTP、BpFTP、LeapFTP、等,FlashFXP能够比较文件夹,支持文字显示;支持多文件夹选择文件,能够缓存文件夹;支持文件夹(带子文件夹)的文件传送、删除;支持上传、下载及第三方文件续传;能够跳过指定的文件类型,只传送需要的文件;能够自概念不同文件类型的显示颜色;能够缓存远端文件夹列表,;能够显示或隐藏“隐藏”属性的文件、文件夹等。
双击桌面FlashFXP图标,运行FlashFXP,登岸界面如图所示:主界面分4个工作区:1. 本地目录窗口:默许显示的是整个磁盘目录,您能够通过下拉菜单选择您的本地目录,以预备开始上传。
2. 服务器目录窗口:用于显示FTP服务器上的目录信息,在列表中能够看到的包括文件名称、大小、类型、最后更改日期等。
窗口上面显示的是当前所在位置路径。
3. 窗口列表:显示“队列”的处置状态,您能够查看到预备上传的目录或文件放到队列列表中。
4. 登录信息窗口:FTP命令行状态显示区,通过登录信息您能够了解到您目前的操作进度,执行情形等,诸如:登录、切换目录、文件传输大小、是不是成功等重要信息,以便确信下一步的具体操作。
FTP站点的创建:单击“站点”菜单—>选择“站点治理器”—>显现“站点治理器”对话框,操作步骤如图:(FlashFXP).IP地址:在那个地址您只要填写您的域名就能够够了端口:FTP设置的默许端口确实是21。
用户名称:请填写服务器设置用户名。
密码:选择下面的“应用”按钮,FTP服务器建好了。
若是想立刻就连接服务器,直接点击连接按钮,就能够开始你的FTP上传下载工作了。
在左侧本地窗口选择文件或文件夹,右键-传输,即可把文件或文件夹上传到右边的FTP服务器。
操作简单。
文件传输FTP
文件传输(FTP)【摘要】FTP是一种最重要、用途最广泛的Internet服务。
这种卓越的服务可以使你从Internet的上千种计算机上拷贝文件。
这些储存在计算机上的文件包含着各种各样的信息。
【关键词】文件传输;FTPFTP是一种最重要、用途最广泛的Internet服务。
这种卓越的服务可以使你从Internet的上千种计算机上拷贝文件。
这些储存在计算机上的文件包含着各种各样的信息。
一、FTP简介“FTP”这个词是文件传送协议的缩写(File TransferProtocol),FTP的主要作用就是让用户连接上一台所希望浏览的远程计算机。
这台计算机必须运行着FTP服务器程序,并且储存着很多有用的文件,其中包括计算机软件、图像文件、重要的文本文件、声音文件等等。
这样的计算机称为FTP站点或FTP服务器。
通过FTP程序,用户可以查看到FTP服务器上的文件。
FTP是在Internet上传送文件的规定的基础。
我们提到FTP时不只是认为它是一套规定,FTP是一种服务,它可以在Internet上,使得文件可以从一台Internet主机传送到另一台Internet主机上,通过这种方式,主要靠FTP把Internet中的主机相互联系在一起。
像大多数的Internet服务一样,FTP使用客户机/服务器系统,你在使用一个名叫ftp的客户机程序时,就和远程主机上的服务程序相连了。
你也许知道,当你从远程计算机上拷贝文件到自己的计算机上时,我们称为“下传”(downloading)文件;当你从自己的计算机上拷贝文件到远程计算机上时,称为你“上传”(uploading)文件。
如果你不明白的话,就请想象有一台远程计算机悬浮在你头上的天空之中,“up”就是远离你,“down”就是朝向你。
当我们谈论FTP时,我们使用和Telent相同的术语。
你的计算机叫做本地主机,别的计算机叫做远程主机。
在Internet语言中,我们说这个ftp客户机程序允许你向远程主机发送或接收文件。
如何使用FTP实现数据同步备份?
如何使用FTP实现数据同步备份?重要数据实现实时同步备份是非常重要的,可以有效保证其安全,今天小编跟大家分享一下如何使用FTP实现数据同步备份。
1、既然通过FTP实现数据同步备份,那么前提是备份数据的服务器要开启FTP服务,然后我们在本地计算机随便安装一个FTP软件,输入备份服务器的Ip地址、用户名、密码、端口号,一般默认端口号是21,然后点击快速连接。
2、连接上之后,先做一次全量备份,把需要备份的文件全部上传。
在左侧选中需要备份的文件或者文件夹,直接拖动到右侧备份服务器中去即可。
3、全量备份完成后,在上方依次点击查看—目录对比—隐藏相同的文件。
4、这样本地和远端备份服务器相同的文件就会直接隐藏,我们只需要把新增的文件拖动过去即可。
5、但是这种方法也有挺大的缺点就是没办法自动定时操作,只能手动,下面小编再来介绍另外一种方法:使用专业的备份系统。
这里小编以常用的大势至服务器文件备份系统为例进行介绍。
百度下载该系统,下载完成后解压运行安装程序,根据提示进行安装,待安装完成后返回电脑桌面找到其快捷方式,双击打开,根据提示输入初始帐号和密码,点击确定。
6、点击新增计划,然后找到源备份路径,点击浏览,在弹出的窗口中选中需要备份的文件或者文件夹,点击确定。
7、在后方备份目标路径中输入备份服务器的ip加共享文件路径,例如:\\192.168.1.106\beifen。
这里与第一个方法有所不同,第一个方法不需要备份服务器创建共享文件夹,但是这里是需要的。
最后点击添加,在弹出的窗口中输入备份服务器的管理帐号和密码,点击确定即可。
8、点击备份开始时间,设置备份开始的日期和时间。
9、点击全量备份频率,勾选全量备份,然后设置其备份的频率,全量备份占用资源多,建议降低频率。
10、点击增量备份频率,勾选增量备份,然后设置增量备份的频率,增量备份备份快,占用资源少,建议提高频率。
11、点击备份数据清理,然后设置具体的清理周期,这里需要根据备份的体量和磁盘的空间来定,全部设置完成后点击保存即可。
linux的ftp使用方法
linux的ftp使用方法Linux的FTP使用方法FTP(File Transfer Protocol)是一种用于在网络上传输文件的常用协议。
在Linux系统中,有多种方式可以使用FTP进行文件传输,并且Linux系统提供了一些优秀的FTP工具。
在本文中,将介绍Linux系统下FTP的使用方法,并一步一步回答关于FTP的常见问题。
第一步:安装FTP客户端在Linux系统中,存在多个FTP客户端可以选择,如FileZilla、lftp等。
下面将以FileZilla为例来介绍FTP的使用方法。
要安装FileZilla,可以执行以下命令:shellsudo apt-get install filezilla第二步:打开FileZilla安装完成后,可以在应用程序菜单中找到FileZilla,并点击打开它。
接下来,将看到FileZilla的用户界面。
第三步:连接FTP服务器在FileZilla的用户界面中,有一个快速连接栏,用于输入FTP服务器的地址、用户名和密码。
在这里,将输入正确的FTP服务器地址、登录用户名和密码,并点击“快速连接”按钮。
如果一切顺利,FileZilla将成功连接到FTP服务器。
第四步:浏览FTP服务器文件连接成功后,FileZilla的界面会有两个主要窗口:左侧是本地文件系统的目录结构,右侧是FTP服务器上的文件列表。
通过点击左右窗口之间的切换按钮,可以在本地和FTP服务器文件之间进行切换。
第五步:上传和下载文件要上传文件到FTP服务器,可以选中需要上传的文件,然后将其拖动到右侧窗口中的目标目录。
FileZilla会自动开始上传,进度将显示在底部状态栏上。
要从FTP服务器下载文件,可以选中需要下载的文件,然后将其拖动到左侧窗口中的目标目录。
FileZilla会自动开始下载,进度将显示在底部状态栏上。
第六步:管理FTP服务器上的文件和目录FileZilla还提供了一些管理功能,可以对FTP服务器上的文件和目录进行操作。
FTP非交互方式文件传输服务器教程-电脑资料
FTP非交互方式文件传输服务器教程-电脑资料FTP(FileTransferProtocol)是文件传输协议,通过它可以从计算机传输或传输到计算机文件,。
FTP命令可以交互方式使用,也可以非交互方式使用。
交互方式的使用较简单,命令执行时系统会逐步提示,非交互方式的实现虽然复杂,但大大方便使用者,因为FTP会自动完成所有的操作。
我们在使用FTP命令时,为了操作方便,往往会按非交互方式使用,下面笔者就介绍在SCOUNIX3.0下FTP实现非交互方式的处理。
在UNIX系统下,使用RCP命令可以实现远程文件传输,但双方都必须为同一种系统,如果远程为其它系统,则RCP就无能为力了。
使用FTP命令不但可以实现非交互方式传输方件,而且在双方使用不同系统时也能使用。
UNIX下的FTP命令的使用与WindowsNT有所区别,通过UNIX的帮助系统可以知道,FTP命令格式为:ftp[-v][-d][-i][-n][-t][-g][host]从命令格式中可以看出,其命令参数基本和在WindowsNT系统下差不多,但是没有[-s:FILENAME]参数,也就是说,不能通过编辑一任意文本文件来实现非交互方式传输文件,不过值得高兴的是,ftp命令在执行时会去寻找一文件名为netrc的文件,如果此文件存在并且其中有FTP命令行中指定的主机名,则会执行netrc文件中命令行。
netrc文件中放有远程主机名、注册用户名、用户口令和定义的宏,其格式如下:以下为引用的内容:machine主机名login用户名password用户口令macdefinit(定义宏)binaryhashget远程主机文件名本地文件名bellclosebye在命令提示符下运行"ftp主机名"命令即可自动实现文件的传输,电脑资料《FTP非交互方式文件传输服务器教程》(https://www.)。
另外在UNIX下使用FTP命令应注意下面的事项。
FTP工具 CUTEFTP PRO使用方法
第一:下载安装软件下载后为一个.rar格式的压缩文件。
安装比较简单,一路点击【下一步】按钮就可以了。
CuteFtp Pro安装起始画面(对某些功能和工具可以选择进行安装)第二:界面预览CuteFtp Pro含有简体中文语言包, 通过菜单【工具】—;【全局选项】可以进行语言设置。
试用版期限为30天。
主界面默认显示了本地驱动器(目录)、站点管理器、队列及日志四大窗口。
CuteFtp启动后试用期限提示CuteFtp Pro主界面第三:站点设置要使用FTP工具来上传(下载)文件,首先必须要设定好FTP服务器的网址(IP地址)、授权访问的用户名及密码。
下面我们将演示具体的参数设置,看完之后即使是初入门的菜鸟级用户也能很快上手,哈哈。
通过菜单【文件】—;【新建】—;【FTP站点】或者CTRL+N键我们可以对远程的FTP服务器进行具体的设置。
(当然还有其它的方法)第一步:按照界面所示,我们在常规选项卡中输入标签内容,(它其实只是站点的名称是对FTP站点的一个说明)。
然后在分别输入主机地址(即 FTP服务器所拥有的IP地址),用户名和密码(如果你不知道的话,可以询问提供FTP服务的运营商或管理员)。
对于匿名选项我们不必选择 (匿名的意思就是不需要用户名和密码可以直接访问FTP服务器,但很多FTP 服务器都禁止匿名访问)。
第二步:在类型选项卡有一项端口号(21),对于端口号我们在没有特别要求的情况下就使用默认的(21),而不必再进行任何改变。
第三步:在动作选项卡设置远程及本地文件夹(目录),远程文件夹其实就是连上FTP服务器后默认打开的目录;而本地文件夹就是每次进入FTP软件后默认显示的本地文件目录(当然了,如果大家不太清楚或者感觉麻烦的话也可以先不设置远程及本地路径,系统将会使用自己的默认路径)。
以上这些参数都设置好之后,便可使用FTP进行文件上传下载了,很简单吧。
java搭建ftpsftp进行数据传递的全过程
java搭建ftpsftp进⾏数据传递的全过程ftp/sftp概念及搭建ftp是⼀种⽂件传输协议,让客户端和服务端能够互相传递⽂件,图⽚等数据;⽅便快捷;sftp是ssh file transfer protocol缩写,也是⼀种⽂件传输协议.sftp⽐ftp安全的多,但传输效率要低的多搭建:ftp可以搜索⽹上教程,很多,在此不过多赘述创建完成后,通过浏览器就可以访问到内容了;sftp⽤freesshd搭建(记得freesshd的安装路径不要有中⽂,否则各种报错);这个也可以⾃⾏百度,解决⽅法很多;Java代码代码如下:import java.io.*;import .SocketException;import java.util.ArrayList;import .ftp.FTP;import .ftp.FTPClient;import .ftp.FTPClientConfig;import .ftp.FTPReply;public class FTPClientTest{private static String userName; // FTP 登录⽤户名private static String password; // FTP 登录密码private static String ip;// FTP 服务器地址IP地址private static int port; // FTP 端⼝//构造函数初始化public FTPClientTest(String userName,String password,String ip,int port){erName=userName;this.password=password;this.ip=ip;this.port=port;}public static String getUserName(){ return userName;}public static void setUserName(String userName) {erName = userName; }public static String getPassword() {return password;}public static void setPassword(String password){FTPClientTest.password = password;}public static String getIp() { return ip; }public static void setIp(String ip){FTPClientTest.ip = ip;}public static int getPort() {return port; }public static void setPort(int port) {FTPClientTest.port = port;}private static FTPClient ftpClient = null; // FTP 客户端代理/*** 连接到服务器* @return true 连接服务器成功,false 连接服务器失败*/public boolean connectServer(){System.out.println("进⾏连接");boolean flag = true;if (ftpClient == null){int reply;try{System.out.println("初始化连接");ftpClient = new FTPClient();String LOCAL_CHARSET = "GBK";System.out.println("设置IP和端⼝");ftpClient.connect(ip, port);System.out.println("设置密码");ftpClient.login(userName, password);System.out.println("进⾏连接");reply = ftpClient.getReplyCode();ftpClient.setDataTimeout(120000);System.out.println("设置编码操作⽅式");if (FTPReply.isPositiveCompletion(ftpClient.sendCommand("OPTS UTF8", "ON"))) // 开启服务器对UTF-8的⽀持,如果服务器⽀持就⽤UTF-8编码,否则就使⽤本地编码(GBK).System.out.println("设置编码操作⽅式1");ftpClient.setControlEncoding(LOCAL_CHARSET);System.out.println("是否连接成功");if (!FTPReply.isPositiveCompletion(reply)){ftpClient.disconnect();System.out.println("FTP 服务拒绝连接!");flag = false;}}catch (SocketException e){flag = false;e.printStackTrace();System.out.println("登录ftp服务器 " + ip + " 失败,连接超时!");}catch (IOException e){flag = false;e.printStackTrace();System.out.println("登录ftp服务器 " + ip + " 失败,FTP服务器⽆法打开!");}catch (Exception e){flag = false;e.printStackTrace();// System.out.println("登录ftp服务器 " + ip + " 失败,FTP服务器⽆法打开!");}}return flag;}/*** 上传⽂件** @param remoteFile 远程⽂件路径,⽀持多级⽬录嵌套需要保证路径已经存在并切包含⽂件重命名 * @param localFile 本地⽂件名称,绝对路径**/public boolean uploadFile(String remoteFile1, File localFile){boolean flag = false;try{InputStream in = new FileInputStream(localFile);String remote = new String(remoteFile1.getBytes("UTF-8"), "iso-8859-1");if (ftpClient.storeFile(remote, in)){flag = true;System.out.println(localFile.getAbsolutePath() + "上传⽂件成功!");}else{System.out.println(localFile.getAbsolutePath() + "上传⽂件失败!");}in.close();}catch (FileNotFoundException e){// TODO Auto-generated catch blocke.printStackTrace();}catch (UnsupportedEncodingException e){// TODO Auto-generated catch blocke.printStackTrace();}catch (IOException e){// TODO Auto-generated catch blocke.printStackTrace();}return flag;}/*** 上传单个⽂件** @param local 本地⽂件名称,绝对路径* @param remote 远程⽂件路径,⽀持多级⽬录嵌套* @return*/public boolean uploadFile(String local, String remote){boolean flag = true;String remoteFileName = remote;if (remote.contains("/")){remoteFileName = remote.substring(stIndexOf("/") + 1);// 创建服务器远程⽬录结构,创建失败直接返回if (!CreateDirecroty(remote)){return false;}}File f = new File(local);if (!uploadFile(remoteFileName, f))return flag;}/*** 上传⽂件夹内的所有⽂件*** @param filename 本地⽂件夹绝对路径只能上传⽂件,⼦⽂件夹⽆法上传* @param uploadpath 上传到FTP的路径,形式为/或/dir1/dir2/../* @return true 上传成功,false 上传失败* @throws IOException*/public ArrayList<String> uploadManyFile(String filename, String uploadpath){boolean flag = true;ArrayList<String> l = new ArrayList<String>();StringBuffer strBuf = new StringBuffer();int n = 0; // 上传失败的⽂件个数int m = 0; // 上传成功的⽂件个数try{ftpClient.setFileType(FTP.BINARY_FILE_TYPE);ftpClient.enterLocalPassiveMode();ftpClient.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);ftpClient.changeWorkingDirectory("/");File file = new File(filename);File fileList[] = file.listFiles();for (File upfile : fileList){if (!upfile.isDirectory()){String local = upfile.getCanonicalPath().replaceAll("\\\\", "/");String temp = upfile.getCanonicalPath();String a = temp.replace(filename + "\\", "");String remote = uploadpath.replaceAll("\\\\", "/") + a;flag = uploadFile(local, remote);ftpClient.changeWorkingDirectory("/");}if (!flag){n++;strBuf.append(upfile.getName() + ",");System.out.println("⽂件[" + upfile.getName() + "]上传失败");}else{m++;}}l.add("失败个数" + n);l.add("成功个数" + m);l.add(strBuf.toString());}catch (NullPointerException e){e.printStackTrace();System.out.println("本地⽂件上传失败!找不到上传⽂件!" + e);}catch (Exception e){e.printStackTrace();System.out.println("本地⽂件上传失败!" + e);}return l;}/*** 下载⽂件** @param remoteFileName --服务器上的⽂件名* @param localFileName--本地⽂件名* @return true 下载成功,false 下载失败*/public boolean loadFile(String remoteFileName, String localFileName){boolean flag = true;// 下载⽂件BufferedOutputStream buffOut = null;try{buffOut = new BufferedOutputStream(new FileOutputStream(localFileName));flag = ftpClient.retrieveFile(new String(remoteFileName.getBytes("UTF-8"), "iso-8859-1"), buffOut); }catch (Exception e){e.printStackTrace();System.out.println("本地⽂件下载失败!" + e);}finally{try{if (buffOut != null)buffOut.close();}catch (Exception e){return flag;}/*** 删除⼀个⽂件*/public boolean deleteFile(String filename){boolean flag = true;try{flag = ftpClient.deleteFile(new String(filename.getBytes("UTF-8"), "iso-8859-1")); if (flag){System.out.println("删除⽂件" + filename + "成功!");}else{System.out.println("删除⽂件" + filename + "成功!");}}catch (IOException ioe){ioe.printStackTrace();}return flag;}/*** 删除空⽬录*/public void deleteEmptyDirectory(String pathname){try{ftpClient.removeDirectory(new String(pathname.getBytes("UTF-8"), "iso-8859-1")); }catch (IOException ioe){ioe.printStackTrace();}}/*** 列出Ftp服务器上的所有⽂件和⽬录*/public String[] listRemoteAllFiles(){try{String[] names = ftpClient.listNames();for (int i = 0; i < names.length; i++){System.out.println(names[i]);}return names;}catch (Exception e){e.printStackTrace();}return null;}/*** 关闭连接*/public void closeConnect(){try{if (ftpClient != null){ftpClient.logout();ftpClient.disconnect();ftpClient=null;}}catch (Exception e){e.printStackTrace();}}/*** 设置传输⽂件的类型[⽂本⽂件或者⼆进制⽂件] 1是⽂本⽂件其余⼆进制⽂件** @param fileType--BINARY_FILE_TYPE(⼆进制⽂件)、ASCII_FILE_TYPE(⽂本⽂件) **/public void setFileType(int fileType1){try{int a = FTP.BINARY_FILE_TYPE;if (fileType1 == 1)ftpClient.setFileType(a);}catch (Exception e){e.printStackTrace();}}/*** 进⼊到服务器的某个⽬录下** @param directory*/public boolean changeWorkingDirectory(String directory){boolean flag = true;try{flag = ftpClient.changeWorkingDirectory(directory);if (flag){System.out.println("进⼊⽂件夹" + directory + " 成功!");}else{System.out.println("进⼊⽂件夹" + directory + " 失败!");}}catch (IOException ioe){ioe.printStackTrace();}return flag;}/*** 返回到上⼀层⽬录*/public void changeToParentDirectory(){try{ftpClient.changeToParentDirectory();}catch (IOException ioe){ioe.printStackTrace();}}/*** 重命名⽂件** @param oldFileName --原⽂件名* @param newFileName --新⽂件名*/public void renameFile(String oldFileName, String newFileName){try{System.out.println(oldFileName);System.out.println(newFileName);ftpClient.rename(new String(oldFileName.getBytes("UTF-8"), "iso-8859-1"), new String(newFileName.getBytes("UTF-8"), "iso-8859-1")); }catch (IOException ioe){ioe.printStackTrace();}catch(Exception e){e.printStackTrace();}}/*** 设置FTP客服端的配置--⼀般可以不设置** @return ftpConfig*/@SuppressWarnings("unused")private FTPClientConfig getFtpConfig(){FTPClientConfig ftpConfig = new FTPClientConfig(FTPClientConfig.SYST_UNIX);ftpConfig.setServerLanguageCode(FTP.DEFAULT_CONTROL_ENCODING);return ftpConfig;}/*** 转码[ISO-8859-1 -> GBK] 不同的平台需要不同的转码** @param obj* @return ""*/@SuppressWarnings("unused")private String iso8859togbk(Object obj){tryreturn "";elsereturn new String(obj.toString().getBytes("iso-8859-1"), "GBK");}catch (Exception e){return "";}}/*** 在服务器上创建⼀个⽂件夹** @param dir ⽂件夹名称,不能含有特殊字符,如 \ 、/ 、: 、* 、?、 "、 <、>...*/public boolean makeDirectory(String dir){boolean flag = true;try{flag = ftpClient.makeDirectory(dir);if (flag){System.out.println("创建⽂件夹" + dir + " 成功!");}else{System.out.println("创建⽂件夹" + dir + " 失败!");}}catch (Exception e){e.printStackTrace();}return flag;}/*** 递归创建远程服务器⽬录** @param remote 远程服务器⽂件绝对路径路径: /Draw1/Point1/GUID1/a.bmp 或者/Draw1/Point1/GUID1/ 最后⼀级⽂件夹必须有/否则最后⼀级⽂件夹创建不成功 ** @return ⽬录创建是否成功* @throws IOException*/public boolean CreateDirecroty(String remote){boolean success = true;try{String directory = remote.substring(0, stIndexOf("/") + 1);// 如果远程⽬录不存在,则递归创建远程服务器⽬录if (!directory.equalsIgnoreCase("/") && !changeWorkingDirectory(new String(directory))){int start = 0;int end = 0;if (directory.startsWith("/")){start = 1;}else{start = 0;}end = directory.indexOf("/", start);while (true){String subDirectory;subDirectory = new String(remote.substring(start, end).getBytes("GBK"), "iso-8859-1");if (!changeWorkingDirectory(subDirectory)){if (makeDirectory(subDirectory)){changeWorkingDirectory(subDirectory);}else{System.out.println("创建⽬录[" + subDirectory + "]失败");System.out.println("创建⽬录[" + subDirectory + "]失败");success = false;return success;}}start = end + 1;end = directory.indexOf("/", start);// 检查所有⽬录是否创建完毕if (end <= start){break;}}}}catch (UnsupportedEncodingException e){// TODO Auto-generated catch blocke.printStackTrace();}}ftp测试代码如下:public class test {public static void main(String[] args) {FTPClientTest ftp=new FTPClientTest("user", "548", "168.125.256.22", 21); boolean b=ftp.connectServer();System.out.println(b);System.out.println(ftp.listRemoteAllFiles());System.out.println(ftp.uploadFile("F:/home/b.txt", "/c.txt"));System.out.println(ftp.loadFile("/a.txt", "F:/home/b.txt"));ftp.closeConnect();}}输出结果如下:成功了;sftp搭建完成后,也测试下,⾄于搭建过程,⾃⾏百度好啦看到没,连接成功了;我⽤我的电脑模拟的;。
