⑴ JAV中怎么实现FTP的下载功能
以下是这三部分的JAVA源程序:(1)显示FTP服务器上的文件 void ftpList_actionPerformed(ActionEvent e) { String server=serverEdit.getText(); //输入的FTP服务器的IP地址 String user=userEdit.getText(); //登录FTP服务器的用户名 String password=passwordEdit.getText(); //登录FTP服务器的用户名的口令 String path=pathEdit.getText(); //FTP服务器上的路径 try { FtpClient ftpClient=new FtpClient(); //创建FtpClient对象 ftpClient.openServer(server); //连接FTP服务器 ftpClient.login(user, password); //登录FTP服务器 if (path.length()!=0) ftpClient.cd(path); TelnetInputStream is=ftpClient.list(); int c; while ((c=is.read())!=-1) { System.out.print((char) c);} is.close(); ftpClient.closeServer();//退出FTP服务器 } catch (IOException ex) {;} }(2)从FTP服务器上下传一个文件 void getButton_actionPerformed(ActionEvent e) { String server=serverEdit.getText(); String user=userEdit.getText(); String password=passwordEdit.getText(); String path=pathEdit.getText(); String filename=filenameEdit.getText(); try { FtpClient ftpClient=new FtpClient(); ftpClient.openServer(server); ftpClient.login(user, password); if (path.length()!=0) ftpClient.cd(path); ftpClient.binary(); TelnetInputStream is=ftpClient.get(filename); File file_out=new File(filename); FileOutputStream os=new FileOutputStream(file_out); byte[] bytes=new byte[1024]; int c; while ((c=is.read(bytes))!=-1) { os.write(bytes,0,c); } is.close(); os.close(); ftpClient.closeServer(); } catch (IOException ex) {;} }(3)向FTP服务器上上传一个文件 void putButton_actionPerformed(ActionEvent e) { String server=serverEdit.getText(); String user=userEdit.getText(); String password=passwordEdit.getText(); String path=pathEdit.getText(); String filename=filenameEdit.getText(); try { FtpClientftpClient=new FtpClient(); ftpClient.openServer(server); ftpClient.login(user, password); if (path.length()!=0) ftpClient.cd(path); ftpClient.binary(); TelnetOutputStream os=ftpClient.put(filename); File file_in=new File(filename); FileInputStream is=new FileInputStream(file_in); byte[] bytes=new byte[1024]; int c; while ((c=is.read(bytes))!=-1){ os.write(bytes,0,c);} is.close(); os.close(); ftpClient.closeServer(); } catch (IOException ex) {;} } }
⑵ C语言实现从FTP下载、上传文件
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。
1.C语言可以使用CStdioFile函数打开本地文件。使用类CInternetSession 创建并初始化一个Internet打开FTP服务器文件。
CStdioFile继承自CFile,一个CStdioFile 对象代表一个用运行时函数fopen 打开的C 运行时流式文件。
流式文件是被缓冲的,而且可以以文本方式(缺省)或二进制方式打开。文本方式提供对硬回车—换行符对的特殊处理。当你将一个换行符(0x0A)写入一个文本方式的CStdioFile 对象时,字节对(0x0D,0x0A)被发送给该文件。当你读一个文件时,字节对(0x0D,0x0A)被翻译为一个字节(0x0A)。
CStdioFile 不支持Duplicate,LockRange,和UnlockRange 这几个CFile 函数。如果在CStdioFile 中调用了这几个函数,将会出现CNoSupported 异常。
使用类CInternetSession 创建并初始化一个或多个同时的Internet 会话。如果需要,还可描述与代理服务器的连接。
如果Internet连接必须在应用过程中保持着,可创建一个类CWinApp的CInternetSession成员。一旦已建立起Internet 会话,就可调用OpenURL。CInternetSession会通过调用全局函数AfxParseURL来为分析映射URL。无论协议类型如何,CInternetSession 解释URL并管理它。它可处理由URL资源“file://”标志的本地文件的请求。如果传给它的名字是本地文件,OpenURL 将返回一个指向CStdioFile对象的指针。
如果使用OpenURL在Internet服务器上打开一个URL,你可从此处读取信息。如果要执行定位在服务器上的指定的服务(例如,HTTP,FTP或Gopher)行为,必须与此服务器建立适当的连接。
⑶ C#实现ftp文件上传下载
这个不是网上下的,是我自己底层库里的代码,都经过测试的,请放心使用 /// <summary> /// FTP类 /// 提供常用FTP上传下载等数据处理函数 /// </summary> public class FTP { private static Regex regexName; private string serverIP; private string userName; private string passWord; static FTP() { regexName = new Regex(@"[^\s]*$", RegexOptions.Compiled); } /// <summary> /// 初始化FTP类,赋予服务器IP地址,用户名和密码,以便所有操作自动登录。 /// </summary> /// <param name="serverIP">服务器IP地址</param> /// <param name="userName">用户名</param> /// <param name="passWord">密码</param> public FTP(string serverIP, string userName, string passWord) { this.serverIP = serverIP; this.userName = userName; this.passWord = passWord; } /// <summary> /// 判断FTP目录是否存在 /// </summary> /// <param name="directoryName">目录路径</param> /// <returns>是否存在</returns> public bool DirectoryExist(string directoryName) { return DirectoryExist(directoryName, serverIP, userName, passWord); } /// <summary> /// 在FTP上创建目录 /// </summary> /// <param name="directoryName">目录名</param> /// <returns>是否成功</returns> public bool CreateDirectory(string directoryName) { return CreateDirectory(directoryName, serverIP, userName, passWord); } /// <summary> /// 从FTP上删除文件 /// </summary> /// <param name="fileName">文件名</param> /// <returns>是否成功</returns> public bool DeleteFile(string fileName) { return DeleteFile(fileName, serverIP, userName, passWord); } /// <summary> /// 从FTP上删除目录(如果目录中含有文件,会引发异常) /// </summary> /// <param name="directoryName">目录名</param> /// <returns>是否成功</returns> public bool DeleteDirectory(string directoryName) { return DeleteDirectory(directoryName, serverIP, userName, passWord); } /// <summary> /// 判断文件是否存在于制定目录中 /// </summary> /// <param name="directoryName">目录名</param> /// <param name="ftpName">文件</param> /// <returns></returns> public bool FileExist(string directoryName,string fileName) { return FileExist(directoryName, fileName,serverIP,userName,passWord); } /// <summary> /// 判断目录是否为空(即没有文件) /// </summary> /// <param name="directoryName">目录名</param> /// <returns>是否为空</returns> public bool IsEmptyDirectory(string directoryName) { return IsEmptyDirectory(directoryName, serverIP, userName, passWord); } /// <summary> /// 判断目录是否有文件 /// </summary> /// <param name="directoryName">目录名</param> /// <returns>是否有文件</returns> public bool HasFileDirectory(string directoryName) { return HasFileDirectory(directoryName,serverIP,userName,passWord); } /// <summary> /// 从FTP下载文件,文件名称不变 /// </summary> /// <param name="sourcePath">源路径</param> /// <param name="targetPath">目标路径</param> /// <returns>是否成功</returns> public bool Download(string sourcePath, string targetPath) { return Download(sourcePath, targetPath, serverIP, userName, passWord); } /// <summary> /// 上传文件到FTP /// </summary> /// <param name="localFilePath">本地文件路径</param> /// <param name="targetDirectoryName"></param> /// <returns>是否成功</returns> public bool Upload(string localFilePath, string targetDirectoryName) { return Upload(localFilePath, targetDirectoryName, serverIP, userName, passWord); } }
⑷ 什么是FTP它是怎样实现上传和下载的
尽管Telnet提供了访问远程文件的极好方法,但怎么也比不上使用自己计算机中的文件方便。如果用户想使用其它计算机上的文件,最理想的方法就是把它COPY到自己的计算机中,以便在本地计算机上操作。那么用什么方法去将远程计算机中的文件获取过来呢?FTP正是完成这项工作的工具。
FTP以它所使用的协议:文件传输协议(File Transfer Protocol)来命名的。正如其名所示:协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、联系的方式、以及使用的操作系统无关。假设两台计算机能与FTP协议对话,并且能访问INTERNET,就可以用FTP软件的命令来传输文件。对于不同的操作系统具体操作上可能会有些细微差别,但是其基本的命令结构是相同的。
FTP是个非常有用的工具,你可以在任意个可经FTP访问的公共有效的联机数据库或文档中找到你想要的任何东西。全世界现在已有1000多(96年的数据)个FTP文件服务器对所有INTERNET用户开使用,用户可以通过与INTERNET相连的计算机,把自己需要的文件传输过来。
FTP采用“客户机/服务器”方式,用户端要在自己的本地计算机上安装FTP客户程序。FTP客户程序有字符界和图形界面(如Cute FTP)两种。首先我们将研究在字符界面上如何在已有帐号(注册名和口令)的两台计算机之间传送文件,其次我们将讨论“匿名FTP”,它是一特殊服务,允许用户在没有帐户的情况下,访问公共FTP数据库。大多数公共数据库提供了匿名FTP路径,这意味着用户即使没有注册名也可以得到很多的免费文件。
⑸ 如何实现window系统cmd环境下从远程FTP服务器上下载文件的方法
我们总会遇到这样或那样的问题,window系统cmd环境下从远程FTP服务器上下载文件是怎么实现的呢?
看看下面的方法,也许对你有帮助:
@echo off
rem 指定FTP用户名
set ftpUser=FTPUSERYGL
rem 指定FTP密码
set ftpPass=FTPUSER
rem 指定FTP服务器地址
set ftpIP=10.16.12.101
rem 指定待下载的文件位于FTP服务器的哪个目录
set ftpFolder=/MBX-YGL-IN/UE0620/MBX-YGL-FTP/
rem 指定从FTP下载下来的文件存放到本机哪个目录
set LocalFolder=D:/Download
set ftpFile=%temp%/TempFTP.txt
>"%ftpFile%" (
echo,%ftpUser%
echo,%ftpPass%
echo cd "%ftpFolder%"
echo lcd "%LocalFolder%"
echo bin
echo mget *.*
echo bye
)
start ftp -v -i -s:"%ftpFile%" %ftpIP%
⑹ 怎么从FTP上下载东西
其实我建议使用一个专门的ftp客户端来使用ftp比较好,这样你只需要在客户端上输入ftp服务器的IP和端口,账号,密码,就能轻松的上传和下载文件,非常实用。
这里我推荐使用IIS7服务器管理工具,它可以作为FTP的客户端,想要进行FTP的上传下载操作,只需要下载安装iis7服务器管理工具就可以了!免费下载,很方便。
同时它还可以作为VNC的客户端,进行VNC的相应操作!它能够连接Windows和Linux系统下的服务器和VPS,能满足你不同系统的使用,感觉不错的话可以试试
⑺ 如何用ftp方式下载
FTP(File Transfer Protocol)是文件传输协议的简称。
FTP的作用
正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。
FTP工作原理
拿下传文件为例,当你启动FTP从远程计算机拷贝文件时,你事实上启动了两个程序:一个本地机上的FTP客户程序:它向FTP服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的FTP服务器程序,它响应你的请求把你指定的文件传送到你的计算机中。FTP采用“客户机/服务器”方式,用户端要在自己的本地计算机上安装FTP客户程序。FTP客户程序有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP客户程序,操作上要简洁方便的多。
简单地说,支持FTP协议的服务器就是FTP服务器,下面介绍一下什么是FTP协议(文件传输协议)
一般来说,用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。Internet上早期实现传输文件,并不是一件容易的事,我们知道 Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,据统计连接在Internet上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行Dos、Windows的PC机和运行MacOS的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。
与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。
在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上载"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上载"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上载(下载)文件。
使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可上载或下载文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了Internet的开放性,Internet上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP就是为解决这个问题而产生的。
匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员建立了一个特殊的用户ID,名为anonymous, Internet上的任何人在任何地方都可使用该用户ID。
通过FTP程序连接匿名FTP主机的方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,该用户ID的口令可以是任意的字符串。习惯上,用自己的E-mail地址作为口令,使系统维护程序能够记录下来谁在存取这些文件。
值得注意的是,匿名FTP不适用于所有Internet主机,它只适用于那些提供了这项服务的主机。
当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上载文件,也就是说,用户可将匿名FTP主机上的所有文件全部拷贝到自己的机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上载文件,用户也只能将文件上载至某一指定上载目录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载,利用这种方式,远程主机的用户得到了保护,避免了有人上载有问题的文件,如带病毒的文件。
作为一个Internet用户,可通过FTP在任何两台Internet主机之间拷贝文件。但是,实际上大多数人只有一个Internet帐户,FTP主要用于下载公共文件,例如共享软件、各公司技术支持文件等。 Internet上有成千上万台匿名FTP主机,这些主机上存放着数不清的文件,供用户免费拷贝。实际上,几乎所有类型的信息,所有类型的计算机程序都可以在Internet上找到。这是Internet吸引我们的重要原因之一。
匿名FTP使用户有机会存取到世界上最大的信息库,这个信息库是日积月累起来的,并且还在不断增长,永不关闭,涉及到几乎所有主题。而且,这一切是免费的。
匿名FTP是Internet网上发布软件的常用方法。Internet之所以能延续到今天,是因为人们使用通过标准协议提供标准服务的程序。像这样的程序,有许多就是通过匿名FTP发布的,任何人都可以存取它们。
Internet中的有数目巨大的匿名FTP主机以及更多的文件,那么到底怎样才能知道某一特定文件位于哪个匿名FTP主机上的那个目录中呢?这正是Archie服务器所要完成的工作。Archie将自动在FTP主机中进行搜索,构造一个包含全部文件目录信息的数据库,使你可以直接找到所需文件的位置信息。
⑻ 能否用浏览器实现FTP的文件上传下载
可以在我的电脑里实现,打开我的电脑,在地址栏输入
FTP地址,然后用户名和密码后就可以用复制粘贴的形式上传下载文件了,但是这种方法不能操作较大的文件,可能会中断超时,建议还是用FTP工具
⑼ 使用因特网的FTP功能,可以实现文件的上传和下载
能。
ftp的主要功能是连接到FTP服务器并操纵数据和数据的上传下载以及备份,还有就是可以访问物理远程服务器。
用户将文件从FTP服务器中拷贝并传输到终端机的过程就是下载(download)。上传和下载过程是所能用到的再常见不过的操作过程。由于FTP服务器承担有文件存储和传播的重任,所以其与用户的连接也有着三重限制。FTP服务器在使用前必须要先登录获取远程连接后,用户才能接触到所需文件。
(9)实现ftp的下载文件扩展阅读:
注意事项:
避免出现零字节文件。在上传时,不要随意中途停止操作,最好不要中途下线。
上传文件要附上说明的文本文件,说明文件名应与文件名称相同,如文件名称为note.zip,说明文件名就应为note.txt,以方便别人了解你的文件内容,来进行取舍。
因为FTP站是多用户系统,因此对于同一个目录或文件,不同的用户拥有不同的权限。如果不能上传或下载某些文件,或者抓下来的文件是零字节,一般是因为用户的权限不够。
⑽ c#怎么实现下载FTP服务器中的某个文件
public const string FTP_URL = "ftp://服务器地址";
public const string FTP_USER_NAME = "user_name";
public const string FTP_PASSWORD = "pwd";
/// <summary>
/// 下载文件
/// </summary>
public void DownloadFile(string fileName)
{
// 连接对象
WebClient request = new WebClient();
// 用户名/密码.
request.Credentials = new NetworkCredential(FTP_USER_NAME, FTP_PASSWORD);
// 组合全路径名.
string fullFileName = FTP_URL + fileName;
// Windows / FTP 路径切换.
fullFileName = fullFileName.Replace('\\', '/');
// 预期的文件内容.
byte[] newFileData = null;
newFileData = request.DownloadData(fullFileName);
// 写入文件.
WriteBinFile("本地文件名", newFileData);
}
private void WriteBinFile(string fileName, byte[] newFileData)
{
FileStream fs = null;
BinaryWriter bw = null;
try
{
// 首先判断,文件是否已经存在
if (File.Exists(fileName))
{
// 如果文件已经存在,那么删除掉.
File.Delete(fileName);
}
// 注意第2个参数:
// FileMode.Create 指定操作系统应创建新文件。如果文件已存在,它将被覆盖。
fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);
bw = new BinaryWriter(fs);
// 写入数据.
bw.Write(newFileData);
// 关闭文件.
bw.Close();
fs.Close();
bw = null;
fs = null;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (bw != null)
{
try
{
bw.Close();
}
catch
{
// 最后关闭文件,无视 关闭是否会发生错误了.
}
}
if (fs != null)
{
try
{
fs.Close();
}
catch
{
// 最后关闭文件,无视 关闭是否会发生错误了.
}
}
}
}