<div class="iteye-blog-content-contain" style="font-size: 14px">
@SuppressWarnings("unused")
public Response deleteDoc(HttpServletRequest request, HttpServletResponse response) {
log.info("ServiceWebServiceImpl deleteDoc method start");
Map<String , Object> responseMap = new HashMap<String , Object>();
String docName = request.getParameter("docName");
String serviceid = request.getParameter("serviceid");
log.info("docName>>>>>>>=============="+docName);
log.info("serviceid>>>>>>>=============="+serviceid);
FTPClient ftpClient = new FTPClient();
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_UNIX);
conf.setServerLanguageCode("zh");
ftpClient.configure(conf);
boolean flag = false;
FileOutputStream fos = null;
try {
ftpClient.connect(Constants.FTP_HOST,Constants.FTP_PORT);
log.info("host :"+ Constants.FTP_HOST+" port :"+Constants.FTP_PORT);
// ftpClient.setControlEncoding("UTF-8");
ftpClient.login(Constants.FTP_USERNAME, "admin".equals(Constants.FTP_PASSWORD)?Constants.FTP_PASSWORD:"");
log.info("username :"+Constants.FTP_USERNAME+" passowrd:"+Constants.FTP_PASSWORD);
//检测连接是否成功
int reply = ftpClient.getReplyCode();
if(!FTPReply.isPositiveCompletion(reply)) {
ftpClient.disconnect();
System.err.println("FTP server refused connection.");
log.info("FTP server refused connection.");
System.exit(1);
}
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.changeWorkingDirectory(Constants.SERVICE_DOC_DOWNLOAD_PATH);
log.info("directory :"+Constants.SERVICE_DOC_DOWNLOAD_PATH);
String remoteFileName = null;
try {
remoteFileName = java.net.URLDecoder.decode(docName, "utf-8");
log.info("remoteFileName==================="+remoteFileName);
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
FTPFile[] ftpFiles = ftpClient.listFiles();
int length = ftpFiles.length;
int num =0;
log.info("length==================="+length);
if(ftpFiles!=null){
// flag = ftpClient.deleteFile(new String(docName.getBytes("ISO-8859-1"), "utf-8"));
for(FTPFile ff:ftpFiles){
log.info("FTPFile :"+new String(ff.getName().getBytes("ISO-8859-1"), "utf-8") +" ->"+remoteFileName);
String ftpName = new String(ff.getName().getBytes("ISO-8859-1"), "utf-8");
log.info("转码后文件名:"+ftpName);
if(ftpName.equals(remoteFileName)){
//设置删除权限
ftpClient.enterLocalPassiveMode();
flag = ftpClient.deleteFile(ff.getName());
num++;
log.info("flag===================="+flag);
ftpClient.logout();
}
}
}
if(num==0){
//删除数据库此文档
serviceDocManage.deleteServiceDocByID(Long.parseLong(serviceid));
responseMap.put("code", 0);
responseMap.put("message", "删除文件成功");
log.info("数据库====================删除文件成功");
}else if(flag){
//删除数据库此文档
serviceDocManage.deleteServiceDocByID(Long.parseLong(serviceid));
responseMap.put("code", 0);
responseMap.put("message", "删除文件成功");
log.info("数据库====================删除文件成功");
}else{
responseMap.put("code", 01);
responseMap.put("message", "删除文件失败");
log.info("数据库====================删除文件失败");
}
} catch (IOException e) {
log.error("FTP删除出错!", e);
flag = false;
responseMap.put("code", 1);
responseMap.put("message", "FTP删除出错!");
return Response.ok(responseMap, "application/json").build();
} finally {
try {
// fos.close();
ftpClient.disconnect();
} catch (IOException e) {
log.error("关闭FTP连接发生异常!", e);
responseMap.put("code", 2);
responseMap.put("message", "关闭FTP连接发生异常!");
return Response.ok(responseMap, "application/json").build();
}
}
return Response.ok(responseMap, "application/json").build();
}
</div>
相关推荐
FTP 服务器命令是指 FTP 服务器中的命令,例如上传文件、下载文件、删除文件、创建目录等。这些命令可以通过 FTPClient 来执行。 FTPClient 的优点 使用 FTPClient 有很多优点,例如: * 简单易用:FTPClient ...
### 获取FTP服务器文件大小的知识点解析 在进行网络文件传输时,经常需要了解远程文件的大小,以便于更好地控制文件的下载进度或者进行其他相关的管理操作。本文将围绕“获取FTP服务器文件的大小”这一主题展开,...
2. **创建FTPClient实例**:接下来,创建一个`FTPClient`实例,用于与FTP服务器交互。 3. **建立连接**:调用`FTPClient`对象的`connect()`方法建立与FTP服务器的连接。可以通过传入主机名(或IP地址)和端口号来...
Java解析FTP服务器文本文件 Java解析FTP服务器文本文件是指使用Java语言连接FTP服务器,上传、下载、递归目录遍历等基本操作的集合。在这个过程中,我们需要引入相关的jar包,例如cpdetector.jar、jchardet-1.0.jar...
以上就是使用Java读取FTP服务器文件的基本流程。在实际开发中,你可能还需要处理更多细节,例如重试机制、异常处理、文件上传、文件删除等。了解这些知识点后,你就能在Web服务器和Linux环境下实现与FTP服务器的交互...
Java定时从FTP服务器更新相关文件是一项常见的任务,特别是在自动化数据同步和备份的场景中。这里主要涉及的技术点包括FTP协议、Java编程以及文件系统操作。本文将深入探讨这些知识点,并提供一个基于`ftp4j`库的...
以上就是使用Java连接FTP服务器进行文件操作的基本步骤。通过这种方式,开发者可以构建自己的FTP客户端应用程序,实现灵活的文件管理功能。在实际应用中,还需要考虑异常处理、重试机制、文件传输进度显示等细节,以...
本篇文章将详细讲解如何使用Java编写一个FTP工具类,实现连接FTP服务器、上传文件、删除文件、下载文件以及检索文件的功能。 首先,我们需要引入Apache Commons Net库,该库提供了丰富的FTP客户端API。在`pom.xml`...
总的来说,实现Java大文件上传至FTP服务器并显示同步进度条涉及的关键技术点包括:FTPClient的使用、文件的分块上传、多线程同步、GUI组件的更新以及异常处理。通过合理设计和优化,可以实现高效且用户体验良好的大...
如果需要从FTP服务器的特定目录下载文件,可以使用`changeWorkingDirectory()`方法。 ```java ftp.changeWorkingDirectory("/path/to/directory"); ``` 4. **列出目录中的文件**: 使用`listNames()`或`list...
最后,调用`storeFile()`方法将文件存储到FTP服务器的指定位置。注意,成功后记得关闭文件流并断开FTP连接。 在实际应用中,你可能需要处理更复杂的情况,例如错误处理、重试机制、目录遍历、文件夹创建等。此外,`...
为了解决这个问题,我们需要在连接FTP服务器时设置字符集为UTF-8: ```java FTPClient ftpClient = new FTPClient(); ftpClient.setDefaultFileTransferMode(FTP.BINARY_FILE_TYPE); ftpClient.connect("ftp.server...
Java FTP服务器文件上传下载是Java开发中常见的网络编程任务,主要涉及到FTP(File Transfer Protocol)协议的应用,用于在客户端和服务器之间传输文件。本教程将详细讲解如何使用Java实现FTP服务器的文件上传、下载...
在描述中提到,“Swing+FtpClient实现”指的是利用Java的Swing图形用户界面库来构建用户界面,同时结合了FtpClient,这是一个常用的FTP客户端库,用于与FTP服务器进行交互。Swing提供了丰富的组件和工具,可以构建出...
本文档将详细介绍一个基于Java的实用工具类`FtpClientUtil`,该类提供了一系列功能来与FTP服务器交互,包括连接到服务器、上传文件、下载文件、获取文件列表、删除文件和目录以及关闭连接等操作。 #### 二、`...
首先,需要创建一个FTPClient实例并连接到FTP服务器: ```java FTPClient ftpClient = new FTPClient(); try { ftpClient.connect("ftp.server.com", 21); ftpClient.login("username", "password"); } catch...
#### 删除文件 使用`deleteFile()`方法删除远程文件: ```java boolean deleteSuccess = ftpClient.deleteFile("remote/path/to/delete"); ``` #### 重命名文件 使用`rename()`方法重命名远程文件: ```java ...
### Java常用FTP文件操作详解:Apache.FTPClient, ftp4j, jftp 在Java开发过程中,通过FTP(File Transfer Protocol)进行文件传输是一项常见需求。本文将详细讲解三种常用的FTP客户端库——Apache.FTPClient、ftp4...
本文将详细介绍如何通过Java代码实现对FTP服务器上文件的删除操作,并对给出的代码片段进行分析与补充。 #### 二、基础知识 1. **FTP协议简介**: - FTP是一种标准网络协议,用于在计算机网络间进行文件传输。 -...
### Java从FTP服务器下载文件知识点解析 在当前数字化转型的大背景下,文件传输协议(File Transfer Protocol,简称FTP)作为互联网上最早的文件传输服务之一,在数据交换、文件共享等方面仍然发挥着重要作用。对于...