当前位置:首页 » 文件传输 » ftp下载文件实现
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

ftp下载文件实现

发布时间: 2023-06-05 14:20:34

Ⅰ java FTP下载文件在代码中如何实现知道下载完成

(KmConfigkmConfig,StringfileName,StringclientFileName,OutputStreamoutputStream){
try{
StringftpHost=kmConfig.getFtpHost();
intport=kmConfig.getFtpPort();
StringuserName=kmConfig.getFtpUser();
StringpassWord=kmConfig.getFtpPassword();
Stringpath=kmConfig.getFtpPath();
FtpClientftpClient=newFtpClient(ftpHost,port);//ftpHost为FTP服务器的IP地址,port为FTP服务器的登陆端口,ftpHost为String型,port为int型。
ftpClient.login(userName,passWord);//userName、passWord分别为FTP服务器的登陆用户名和密码
ftpClient.binary();
ftpClient.cd(path);//path为FTP服务器上保存上传文件的路径。
try{
TelnetInputStreamin=ftpClient.get(fileName);
byte[]bytes=newbyte[1024];
intcnt=0;
while((cnt=in.read(bytes,0,bytes.length))!=-1){
outputStream.write(bytes,0,cnt);
}
//##############################################
//这里文件就已经下载完了,自己理解一下
//#############################################

outputStream.close();
in.close();
}catch(Exceptione){
ftpClient.closeServer();
e.printStackTrace();
}
ftpClient.closeServer();
}catch(Exceptione){
System.out.println("下载文件失败!请检查系统FTP设置,并确认FTP服务启动");
}
}

Ⅱ 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)行为,必须与此服务器建立适当的连接。

Ⅲ 使用因特网的FTP功能,可以实现文件的上传和下载

能。

ftp的主要功能是连接到FTP服务器并操纵数据和数据的上传下载以及备份,还有就是可以访问物理远程服务器。

用户将文件从FTP服务器中拷贝并传输到终端机的过程就是下载(download)。上传和下载过程是所能用到的再常见不过的操作过程。由于FTP服务器承担有文件存储和传播的重任,所以其与用户的连接也有着三重限制。FTP服务器在使用前必须要先登录获取远程连接后,用户才能接触到所需文件。

(3)ftp下载文件实现扩展阅读:

注意事项:

避免出现零字节文件。在上传时,不要随意中途停止操作,最好不要中途下线。

上传文件要附上说明的文本文件,说明文件名应与文件名称相同,如文件名称为note.zip,说明文件名就应为note.txt,以方便别人了解你的文件内容,来进行取舍。

因为FTP站是多用户系统,因此对于同一个目录或文件,不同的用户拥有不同的权限。如果不能上传或下载某些文件,或者抓下来的文件是零字节,一般是因为用户的权限不够。

Ⅳ vb如何实现FTP下载

Call Inet1.Execute(,"put 本地地址\文件名 ftp地址\文件名")‘上传ftp文件代码
Call Inet1.Execute(,"get ftp地址\文件名 本地地址\文件名")’下载ftp文件代码
你要在inet1的自定义中设置好

Ⅳ 如何实现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文件自动下载

    前几天笔者遇到一个需求,在windows平台下使用ftp来远程获取交换机的配置文件。鉴于每一次都需要在命令行里面手动输入,过程繁琐,于是想着使用脚本来完成这个重复性的工作,实现自动化。python的ftplib库也可以解决这个问题,但是笔者未来和其他bat脚本揉在一起,直接windows平台下使用批处理bat来完成。

    ftp -s可以指定包含ftp命令的文本文件,ftp启动后这些命令将自动运行。

主批处理文件:ftp_main.bat 

ftp命令批处理文件:ftp_task.bat,文件放置于D盘下。

    除了FTP之外,date修改电脑日期,time修改电脑时间,echo ^G测试电脑声音。注意,“^G”是在命令行中使用ctrl + g输入的,可以使用echo ^G > test.txt来获取这个字符。

    最后这个脚本东凑西凑,界面如下:

Ⅶ 两台电脑怎么通过ftp下载文件

在两台计算机之间传输数据吧,如果只是传数据,使用共享文件夹就可以!
方法如下:1。在我的电脑D盘,建立一个文件夹D:/share2。在share文件夹上点右键,选择共享,找到“网络共享和安全”,勾选“在网络上共享这个文件夹”项3。查看下本机的IP(如:192.168.1.23)或是计算机名(pc1),4。在另一台计算机上,当然得保证在同一网段,打开我的电脑,在地址栏输入开启共享机的IP地地址如:\\192.168.1.23,如果共享成功,就可以看到share文件夹,就可以相互传文件了

另外如果使用FTP的话,其实不能叫传文件,这个方法实际是建立一个FTP服务器,然后让客户机去访问FTP服务器,从FTP上下载文件到本地计算机,当然这个的目的,也是为了实现文件交换。方法如下:1。上网下载FTP服务器软件,如cuteFTP或是HomeFTP(推荐,主要是配置简单易用),或是直接在操作系统上安装IIS服务器(这个只能是windows系统)然后应用IIS的FTP功能也可以实现FTP,当然也可以用其它的FTP服务器;这里以HOMEFTPServer为例讲解2。安装下载好的HOMEFTP服务器,安装好之后进行配置
1点击设置,可以配置匿名用户,指定目录,即FTP文件服务器目录(如:D:\FTPRoot),也可以配置虚拟目录,配置后可以将其它盘(F:\share)的目录虚拟到FTPRoot下,而可以获得FTPRoot的权限;这个服务器就这点最精典
2点击新增成员,可以添加新用户,即非匿名用户,可以配置权限和虚拟目录;
3配置好之后点击开始服务启动FTP服务器
4查看服务器(装有FTP软件的计算机)的IP地址如:192.168.1.233。在客户机,打开我的电脑,在地址栏输入ftp://192.168.1.23如果配置成功,即可以访问FTP服务器,如果开启文件上传权限,可以上传或下载文件
当然也可以下载一个FTP服务器客户端工具,即可以访问
注意:如果没安装FTP客户端,使用非匿名用户访问时要用到帐号和密码,格式为:ftp://用户:密码@服务器IP如:ftp://admin:[email protected]登陆后,获得admin用户的所有权限

Ⅷ ftp中的文件怎么下载

用浏览器,打开FTP服务器后,登录,只要当前的帐号有列表和下载的权限,就能看到文件,在文件上直接拖放到本地,即可下载。

或者在文件上右键,选择目标另存为,也可以下载并保存到当前电脑中。

Ⅸ 如何从FTP下载文件

楼主
20cn貌似有黑色基因,会被杀软误杀吧.虽然我也很喜欢它的快捷、简便.但是被误杀着实头痛.
Serv-U不算复杂啊.况且有汉化版.抱歉,稍微跑题了.

拿你的20cn来说事吧.你在配置服务器之前需要一个外网IP.这个知识如果不具备后面提到的信息请无视之.
然后你需要知道你的外网IP多少.当然你如果每次获取IP嫌弃麻烦.你可以去申请免费花生壳这样你好我好大家好.
然后20cn中设置路径以及用户名.如果无限制请选择匿名登录.
然后登录格式为:
ftp://username:password@IP or Domain/path

完毕 给分

Ⅹ C#通过FTP下载文件夹

第一部分是实现单个文件下载的方法

///<summary>
///单个文件下载方法
///</summary>
///<paramname="adss">保存文件的本地路径</param>
///<paramname="ftpadss">下载文件的FTP路径</param>
publicvoiddownload(stringadss,stringftpadss)
{
//FileMode常数确定如何打开或创建文件,指定操作系统应创建新文件。
//FileMode.Create如果文件已存在,它将被改写
FileStreamoutputStream=newFileStream(adss,FileMode.Create);
FtpWebRequestdownRequest=(FtpWebRequest)WebRequest.Create(newUri(ftpadss));
//设置要发送到FTP服务器的命令
downRequest.Method=WebRequestMethods.Ftp.DownloadFile;
FtpWebResponseresponse=(FtpWebResponse)downRequest.GetResponse();
StreamftpStream=response.GetResponseStream();
longcl=response.ContentLength;
intbufferSize=2048;
intreadCount;
byte[]buffer=newbyte[bufferSize];
readCount=ftpStream.Read(buffer,0,bufferSize);
while(readCount>0)
{
outputStream.Write(buffer,0,readCount);
readCount=ftpStream.Read(buffer,0,bufferSize);
}
ftpStream.Close();
outputStream.Close();
response.Close();
}

第二个部分也就是需要遍历出所指定的文件夹内所有内容

首先是一个单个遍历文件夹获取文件夹下所有文件信息的方法

///</summary>
///<paramname="ftpads">FTP地址路径</param>
///<paramname="name">我们所选择的文件或者文件夹名字</param>
///<paramname="type">要发送到FTP服务器的命令</param>
///<returns></returns>
publicstring[]ftp(stringftpads,stringname,stringtype)
{
WebResponsewebresp=null;
StreamReaderftpFileListReader=null;
FtpWebRequestftpRequest=null;
try
{
ftpRequest=(FtpWebRequest)WebRequest.Create(newUri(ftpads+name));
ftpRequest.Method=type;
webresp=ftpRequest.GetResponse();
ftpFileListReader=newStreamReader(webresp.GetResponseStream(),Encoding.Default);
}
catch(Exceptionex)
{
ex.ToString();

}
StringBuilderstr=newStringBuilder();
stringline=ftpFileListReader.ReadLine();
while(line!=null)
{
str.Append(line);
str.Append("/n");
line=ftpFileListReader.ReadLine();
}
string[]fen=str.ToString().Split('/n');
returnfen;
}

之后是一个我们实现递归文件夹的方法

///<summary>
///下载方法KO
///</summary>
///<paramname="ftpads">FTP路径</param>
///<paramname="name">需要下载文件路径</param>
///<paramname="Myads">保存的本地路径</param>
publicvoiddownftp(stringftpads,stringname,stringMyads)
{
stringdownloadDir=Myads+name;
stringftpdir=ftpads+name;
string[]fullname=ftp(ftpads,name,WebRequestMethods.Ftp.ListDirectoryDetails);
//判断是否为单个文件
if(fullname.Length<=2)
{
if(fullname[fullname.Length-1]=="")
{
download(downloadDir+"/"+name,ftpads+name+"/"+name);
}
}
else
{
string[]onlyname=ftp(ftpads,name,WebRequestMethods.Ftp.ListDirectory);
if(!Directory.Exists(downloadDir))
{
Directory.CreateDirectory(downloadDir);
}
foreach(stringnamesinfullname)
{
//判断是否具有文件夹标识<DIR>
if(names.Contains("<DIR>"))
{
stringolname=names.Split(newstring[]{"<DIR>"},
StringSplitOptions.None)[1].Trim();
downftp(ftpdir,"//"+olname,downloadDir);
}
else
{
foreach(stringonlynamesinonlyname)
{
if(onlynames==""||onlynames==""||names=="")
{
break;
}
else
{
if(names.Contains(""+onlynames))
{
download(downloadDir+"/"+onlynames,ftpads+name+"/"+
onlynames);
break;
}
}
}
}
}
}

}

在使用WebRequestMethods.Ftp.ListDirectoryDetails取得文件夹下所有内容时,会发现如果其中有文件夹,那么文件夹的的详细信息中会有一个"<DIR>"标识,我们就可以通过这个来将其区分开来

同时在获取文件夹以及文件名称时用到WebRequestMethods.Ftp.ListDirectory,这个指令能过只获得文件夹下所有文件包括文件夹的名字,通过这两个指令所获取的信息逐一比较,便能确定出文件或文件夹名以传递到download和downftp方法中