`
- 浏览:
30727 次
- 性别:
- 来自:
北京
-
packagepub.ftp;
importjava.io.BufferedReader;
importjava.io.DataOutputStream;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.util.ArrayList;
importsun.net.TelnetInputStream;
importsun.net.TelnetOutputStream;
importsun.net.ftp.FtpClient;
/***//**
*FTPClient端调用模块
*作者:
*版本:1.0
*时间:2007.07.30
*/
publicclassFTPClient...{
/***//**
*类的初始化,建立ftp的连接,用户登录,指定ftp的传输流
*@paramhost
*@paramport
*@paramuser
*@parampsw
*/
//建立一条与指定主机、指定端口上的FTP服务器的连接
privateFtpClientaftp=newFtpClient();;
privateDataOutputStreamoutputs;
privateTelnetOutputStreamouts;
privateTelnetInputStreaminps;
publicvoidFTPClass(Stringhost,intport,Stringuser,Stringpsw)...{
try...{
//注册到FTP服务器
aftp.openServer(host);
System.out.println("登陆....");
aftp.login(user,psw);
System.out.println("登陆FTP服务器成功!");
aftp.binary();
}catch(IOExceptione)...{
System.out.println("连接FTP服务器失败!");
e.printStackTrace();
}
}
/***//**
*通过ftp上传文件到服务器上
*@paramlocalFile本地所要上传的文件
*@paramremoteFile传到服务器上的文件名称
*/
publicbooleanupFile(StringlocalFile,StringremoteFile)...{
booleanresult=true;
if(aftp!=null)...{
System.out.println("正在上传文件"+localFile+",请等待....");
try...{
Filefile=newFile(localFile);
outs=aftp.put(remoteFile);
FileInputStreamin=newFileInputStream(file);
byte[]bytes=newbyte[1024];
intc;
while((c=in.read(bytes))!=-1)...{
outs.write(bytes,0,c);
}
outs.close();
in.close();
System.out.println("上传文件"+localFile+"成功!");
System.out.println("上传文件所在目录:"+remoteFile+"");
}catch(Exceptione)...{
e.printStackTrace();
System.out.println("上传文件"+localFile+"失败!");
result=false;
}
}else...{
result=false;
}
returnresult;
}
/***//**
*下载FTP服务器上的文件
*@paramlocalFile本地文件名
*@paramremoteFile远程服务器文件名
*/
publicbooleandownFile(StringremoteFile,StringlocalFile)...{
booleanresult=true;
if(aftp!=null)...{
System.out.println("正在下载文件"+remoteFile+",请等待....");
try...{
Filefile=newFile(remoteFile);
inps=aftp.get(remoteFile);
aftp.cd("D;/jiadong");
FileInputStreamin=newFileInputStream(file);
//RandomAccessFilegetFile=newRandomAccessFile(file,"rw");
//getFile.seek(0);
FileOutputStreamos=newFileOutputStream(file);
byte[]bytes=newbyte[1024];
intc;
while((c=in.read(bytes))!=-1)...{
//.write(bytes,0,c);
os.write(bytes,0,c);
}
inps.close();
in.close();
os.close();
System.out.println("下载文件"+remoteFile+"成功!");
System.out.println("上传文件所在目录:"+localFile+"");
}catch(Exceptione)...{
e.printStackTrace();
System.out.println("下载文件"+remoteFile+"失败!");
result=false;
}
}
returnfalse;
}
/***//**
*断开ftp连接
*@throwsIOException
*
*/
publicvoiddisconnect()throwsIOException...{
aftp.closeServer();
System.out.println("FTP服务器连接断开!");
}
//返回当前目录的所有文件及文件夹
publicArrayListgetFileList()throwsIOException...{
BufferedReaderdr=newBufferedReader(newInputStreamReader(aftp.list()));
ArrayListal=newArrayList();
Strings="";
while((s=dr.readLine())!=null)...{
al.add(s);
}
returnal;
}
publicstaticvoidmain(String[]args)throwsIOException...{
FTPClientftpClient=newFTPClient();
ftpClient.FTPClass("192.168.8.154",21,"jiadong","jiadong");
//ftpClient.upFile("F:/music/想念.mp3","/jia/hehe.mp3");
//ftpClient.upFile("d:/jiadong","D:/workspace/msgfield.xml");
ftpClient.downFile("hehe.xml","/jia/ruru.xml");
ftpClient.disconnect();
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
总之,FTP客户端实现上传下载功能需要理解FTP协议,正确处理连接、认证、命令交互、数据传输等多个环节,并考虑用户体验和安全性。通过FTP客户端,用户可以便捷地管理和共享文件,实现远程协作。
本项目“MFC实现FTP客户端的上传下载(断点续传)”是基于MFC技术实现的,能够实现在FTP服务器上进行文件的上传和下载,并且具备断点续传功能,这对于大文件传输来说尤其重要,因为如果在传输过程中中断,可以从上次...
2. **QNAM与FTP**:虽然QNetworkAccessManager没有直接提供FTP操作的接口,但可以通过构造一个QNAM的子类并重写其内部的槽函数,来监听FTP相关的信号,从而实现FTP客户端功能。 3. **QNetworkRequest**:创建...
FTP客户端实现上传下载功能: 该代码文件是在vs2010下编译并运行,使用者安装boost库并配置,即可直接使用,main函数写了一个上传的小demo,使用者可参考使用上传、下载、压缩等功能的使用。 1.本程序支持文件夹嵌套...
ftp客户端实现上传下载功能 上传 下载 进入子目录 使用FtpClient 图形化界面 swing
在这个基于 lwip 的 FTP 客户端代码实例中,我们主要关注如何在 ucOS 操作系统环境下,利用 lwip(Lightweight IP)库来实现 FTP 客户端的功能,以便从远程服务器下载更新程序到嵌入式设备的闪存中。 lwip 是一个...
为了深入理解这个FTP客户端的实现,你需要阅读和分析源代码,了解每个类和函数的作用,以及它们如何协同工作。此外,理解QT的信号和槽机制也很关键,因为这是QT中事件驱动编程的基础。最后,熟悉FTP协议的细节将有助...
本项目涉及的是利用C#.NET构建一个FTP(File Transfer Protocol)客户端,该客户端能够实现文件的上传和下载功能。FTP是互联网上用于在不同计算机之间交换文件的标准协议,而FTP客户端则是与FTP服务器交互的软件工具...
在Web开发中,实现类似FTP客户端的上传和下载功能是一项常见的需求,这使得用户可以通过浏览器直接操作远程服务器上的文件,而无需安装额外的FTP软件。本文将深入探讨如何在Web应用中实现这样的功能,以及涉及的相关...
QT5 FTP 客户端 实现多文件下载 上传
**FTP客户端实现** 在MFC中实现FTP客户端,通常会涉及到以下几个关键步骤: 1. **连接服务器**:使用Winsock API(Windows套接字)建立与FTP服务器的TCP连接,通过SOCKET句柄进行通信。MFC提供了CInternetSession...
1.实现一个图形用户界面的FTP客户端。 2.功能: 2.1 配置使用IIS的FTP服务器; 2.2 客户端发出各种操作命令;至少实现conn(连接)、list(列示文件)、retr(下载)、store(上载)的功能。 2.3 接收服务器的...
在本文中,我们将深入探讨如何使用VC++来...通过以上步骤,你可以构建一个基本的FTP客户端,能够实现文件的列举、上传和下载功能。当然,实际应用中可能还需要考虑更多细节,如安全性、多线程、断点续传等高级特性。
创建一个简单的FTP客户端程序,你需要理解FTP的基本工作原理和使用的关键概念。 FTP协议基于TCP/IP协议栈,通过建立两个独立的连接来传输数据:控制连接和数据连接。控制连接用于发送命令和接收响应,如登录、改变...
FTP客户端是网络应用程序的一种,...总之,"FTP.cpp"是一个实现FTP客户端功能的源码文件,涵盖了从连接服务器、身份验证到文件上传和下载等一系列关键操作。深入理解FTP协议和相关技术对于分析和使用这个源码至关重要。
linux C实现的FTP客户端(包括上传、下载和List),上传、下载功能非常完整,有各种异常处理。
在开发一个基于对话框的FTP客户端程序时,我们首先需要实现一些基本功能,如登录FTP服务器、显示服务器目录下的文件和目录、选择文件下载以及上传文件。以下将详细介绍这些功能的实现过程。 1. **创建FTP会话** ...
使用QT5.4以上的QNetworkAccessManager类实现的FTP客户端,可以实现上传和下载的功能
VB中的FTP客户端实现可能涉及到以下关键类和方法: - `FtpWebRequest`:创建FTP请求的对象,可以设置各种FTP操作,如GET(下载)和PUT(上传)。 - `FtpWebResponse`:处理FTP服务器的响应,包含有关请求状态的信息...
2. Java FTP客户端实现: 在Java中,`java.net.Socket`类可以用来建立与FTP服务器的连接,而`java.io`包中的输入/输出流则负责数据的传输。此外,`org.apache.commons.net.ftp`库(如`FTPClient`和`FTP pymysql`)...