//把指定目录下所有的文件上传到ftp服务器上
public void uploadAllFilesInFolder(String folderName,String ftpPath)throws Exception{
if (isLogin) {
String strMsg="";
try{
File file=new File(folderName);
if(file.isDirectory()){
ftpClient.chdir("\\");
ftpClient.setType(FTPTransferType.BINARY);
if (checkFolderIsExist(ftpPath)) {
ftpClient.chdir(ftpPath);
} else {
createFolder(ftpPath);
}
File[] files=file.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].isFile()){
try{
ftpClient.put(files[i].getPath(),files[i].getName());
}catch(Exception ee){
strMsg+="upload file<<:"+files[i].getPath()+">> error!Message:"+ee.getMessage()+"\r\n";
}
}
}
}else{
throw new Exception(folderName+" is not a folder'name!");
}
}catch(Exception e){
throw new Exception(e.getMessage());
}
} else {
throw new Exception("you didnot login remote ftp server!");
}
}
//上传指定文件到ftp服务器上
public void uploadFile(String clientFileName, String ftpPath)
throws Exception {
if (isLogin) {
try {
//获取文件名
String filename = "";
int index = clientFileName.lastIndexOf("\\");
filename = clientFileName.substring(index + 1);
ftpClient.chdir("\\");
ftpClient.setType(FTPTransferType.BINARY);
if (checkFolderIsExist(ftpPath)) {
ftpClient.chdir(ftpPath);
} else {
createFolder(ftpPath);
}
ftpClient.put(clientFileName, filename);
} catch (Exception ex) {
throw new Exception(ex.getMessage());
}
} else {
throw new Exception("you didnot login remote ftp server!");
}
}
// 检查FTP服务器上文件夹是否存在
public boolean checkFolderIsExist(String pFolder) throws Exception {
if (isLogin) {
String folder=pFolder.trim();
if(folder.startsWith("\\"))
folder=folder.substring(1);
if(folder.endsWith("\\"))
folder=folder.substring(0,folder.length()-1);
String strLayer="..";
if(folder.indexOf("\\")>0){
String[] folders=folder.split("\\\\");
for(int i=1;i<folders.length;i++){
strLayer+=",";
}
}
boolean result=false;
try {
ftpClient.chdir(folder);
ftpClient.chdir(strLayer);
result=true;
} catch (Exception ex) {
result=false;
}
return result;
} else {
throw new Exception("you didnot login remote ftp server!");
}
}
//创建远程FTP服务器文件夹
public void createFolder(String pFolder) throws Exception {
if (isLogin) {
if (checkFolderIsExist(pFolder) == false) {
try {
String path = "";
ftpClient.chdir("\\");
String[] folders = pFolder.split("\\\\");
for (int i = 0; i < folders.length; i++) {
try {
ftpClient.chdir(folders[i]);
} catch (Exception ex) {
ftpClient.mkdir(folders[i]);
ftpClient.chdir(folders[i]);
}
}
} catch (Exception ex) {
throw new Exception(ex.getMessage());
}
}
} else {
throw new Exception("you didnot login remote ftp server!");
}
}
public static void main(String[] args) {
try{
FTPUpload ftp=new FTPUpload("192.168.0.176","21","","");
ftp.uploadAllFilesInFolder("D:\\my driver\\Sony DSC","yhp");
}catch(Exception e){
System.out.println(e.getMessage());
}
}
}
分享到:
相关推荐
FTP上传文件的实现可以使用QNetworkAccessManager的put()函数。假设我们有一个本地文件`localFilePath`,我们希望上传到服务器的`remoteFilePath`: ```cpp QFile localFile(localFilePath); if (!localFile.open...
FTP协议允许用户在两台计算机之间上传、下载文件,或者进行其他文件管理操作。它基于TCP/IP协议栈,工作在应用层(OSI模型的第七层),通常使用20号端口进行数据传输,21号端口用于控制连接。 `ftp-0.17-54.el6.x86...
首先,我们来看标题和描述中的关键词"java实现的ftp文件上传",这表明我们要讨论的是使用Java编程语言来实现在FTP服务器上上传文件的过程。Java提供了一个名为`java.net.Socket`的基本网络连接类,但直接使用它来...
描述 "在hadoop分布式文件系统上实现ftp服务" 暗示了这个压缩包包含了一个解决方案,允许用户使用FTP协议来上传、下载或管理HDFS中的文件。这对于那些习惯于使用FTP或者不熟悉Hadoop API的用户来说,是一个便捷的...
总的来说,Delphi结合Indy库的TIdFTP组件,为开发者提供了一个强大且易于使用的FTP客户端解决方案,使得在Delphi应用程序中实现文件的上传和下载变得简单高效。只要掌握了基本的使用方法,就可以轻松地将FTP功能集成...
在本文中,我们将深入探讨如何使用Qt库与libcurl库结合,实现在C++应用程序中进行FTP文件上传的功能。Qt是一个强大的跨平台开发框架,它提供了丰富的GUI组件和网络功能,而libcurl则是一个用于处理多种互联网协议的...
**FTP上传文件:** 要实现FTP文件上传,我们首先创建一个`FtpWebRequest`对象,设置其方法为`WebMethod.UploadFile`,然后提供FTP服务器的URL、用户名和密码。接着,打开一个流写入器,将本地文件内容写入请求的主体...
在Visual Basic(VB)编程环境中,我们可以利用FTP协议来实现文件的上传和下载功能。以下将详细介绍如何在VB中利用FTP进行文件操作,并提供相关的知识点。 首先,VB中的FTP操作通常需要使用System.Net命名空间中的...
2. **FTP上传**: - 使用`TIdFTP`的`Put`或`Upload`方法上传本地文件到服务器。例如,`Put('本地文件路径', '服务器目标路径')`将本地文件上传到服务器指定路径。 - 如果需要覆盖服务器上的同名文件,可以设置`...
在实际应用中,为了增强用户体验,你可能需要监听FTP上传进度并更新UI。这可以通过FTPClient的`setProgressListener`方法实现。同时,记得在上传完成后断开FTP连接: ```java ftp.logout(); ftp.disconnect(); ``` ...
在Java应用程序中,开发者可以利用这个库实现复杂的FTP操作,包括文件的上传、下载、移动、重命名以及目录管理等。 这些库文件在Java FTP编程中至关重要,它们为开发者提供了方便的接口和功能,使得处理FTP通信变得...
Java FTP上传JAR包是一项常见的任务,特别是在自动化部署或者远程更新系统组件时。在这个过程中,我们需要使用Java编程语言,结合FTP(File Transfer Protocol)协议来实现在服务器上上传JAR文件。以下是一些相关的...
* 说明: 一、使用edtftpj 2.0.1开源包 二、实现了以下功能 1、上传指定文件夹(包括子文件和文件夹) 2、下载FTP上指定的文件夹 3、上传指定文件夹下的所有文件到FTP指定目录下 4、删除...
在嵌入式系统开发领域,FTP客户端是实现远程文件传输的重要组件。本文将详细探讨基于netkit-ftp-0.17的源码,并结合其中加入的补丁netkit-ftp-0.17-cross.patch,以及对glob.c和makefile的修改,来解析其在嵌入式ARM...
ftp-0.17-51.1.el6.x86_64.rpm
“用于FTP文档的生成”可能是指该软件提供了创建、管理和维护FTP站点的功能,使得文件上传和下载过程变得简单高效。“不失真,方便使用”强调了该软件在传输文件时能保持文件完整性,同时具有用户友好的界面和操作...
FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网...以上就是关于VB利用FTP实现文件上传和下载的详细讲解,希望对您有所帮助。在实践中,可以根据具体需求调整和完善代码,以满足各种场景的需求。
本文将详细介绍如何实现FTP客户端的功能,包括单文件上传、多文件上传、文件加密、下载文件、解密文件以及文件夹上传。 ### FTP客户端基础 FTP客户端通常由以下几个核心组件构成: 1. **连接管理**:客户端需要与...
在`TestFtpUpload`文件中,可以编写单元测试或集成测试来验证FTP上传和下载功能。例如,你可以创建一个测试类`FtpOperationsTest`,包含如下方法: ```java import org.junit.jupiter.api.Test; import org.apache....
JTextArea是Java Swing组件,常用于显示多行文本,这里可能被用来实时显示FTP上传过程中的日志信息,为用户提供可视化的上传状态。而Log4j是一个流行的Java日志框架,用于记录程序运行时的各种信息,开发者可能会...