[1].[代码] ftp上传和删除 跳至 [1] [2] [3]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
package com.itv.launcher.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.Properties;
import java.util.StringTokenizer;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;
import sun.net.ftp.FtpProtocolException;
/** * FTP上传工具类
*
* @author yanzhou
* @version v1.0
*/
public class FTPUtil {
private static FtpClient ftpClient = null ;
private static final String url;
private static final int port;
private static final String user;
private static final String password;
private static final String remoteFilePath;
static {
Properties FTPPro = ReadFTPProperties.getMsgFromPro();
url = FTPPro.getProperty( "FTP_URL" );
port = Integer.parseInt(FTPPro.getProperty( "FTP_PORT" ));
user = FTPPro.getProperty( "FTP_USER" );
password = FTPPro.getProperty( "FTP_PASSWORD" );
remoteFilePath = FTPPro.getProperty( "FTP_REMOTE_FILEPATH" );
}
/**
* 链接FTP
* @throws FtpProtocolException
*/
private static void connectFTP() throws FtpProtocolException {
try {
ftpClient = FtpClient.create();
ftpClient.connect( new InetSocketAddress(url, port));
ftpClient.login(user, password.toCharArray());
ftpClient.setBinaryType();
if (! "" .equals(remoteFilePath) && remoteFilePath != null ) {
ftpClient.changeDirectory(remoteFilePath);
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 关闭FTP链接
*/
public static void closeFTP() {
try {
if (ftpClient != null ) {
ftpClient.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 上传文件到FTP
* @param file file文件,struts2从页面得到的File类型
* @param filePath 要保存在FTP上的路径(文件夹)
* @param fileName 文件名(test001.jpg)
* @return 文件是否上传成功
* @throws Exception
*/
public static boolean upload(File file, String filePath, String fileName) {
TelnetOutputStream to = null ;
FileInputStream fi = null ;
filePath = remoteFilePath + Constants.FILE_SEPARATOR + filePath;
try {
if (file != null ) {
connectFTP();
if (!isDirExist(filePath.replace( "\\" , "/" ))) {
createDir(filePath.replace( "\\" , "/" ));
ftpClient.changeDirectory(filePath.replace( "\\" , "/" ));
}
fi = new FileInputStream(file);
to = (TelnetOutputStream) ftpClient.putFileStream(fileName, true );
byte [] bytes = new byte [ 1024 ];
int i = fi.read(bytes);
while (i != - 1 ) {
to.write(bytes);
i = fi.read(bytes);
}
}
return true ;
} catch (FileNotFoundException e1) {
return false ;
} catch (IOException e2) {
return false ;
} catch (Exception e) {
return false ;
} finally {
if (fi != null ) {
try {
fi.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (to != null ) {
try {
to.flush();
to.close();
} catch (IOException e) {
e.printStackTrace();
}
}
closeFTP();
}
}
/**
* 删除FTP制定目录下的文件
* @param filePath 文件在FTP存储的路径
* @param fileName 要删除的文件名称
* @return 是否删除成功
*/
public static boolean deleteFileFtp(String filePath, String fileName){
try {
connectFTP();
filePath = remoteFilePath + Constants.FILE_SEPARATOR + filePath + Constants.FILE_SEPARATOR;
if (!isDirExist(filePath.replace( "\\" , "/" ))) {
return false ;
}
ftpClient.changeDirectory(filePath.replace( "\\" , "/" ));
ftpClient.deleteFile(fileName);
return true ;
} catch (Exception e) {
e.printStackTrace();
return false ;
} finally {
closeFTP();
}
}
/**
* 检查文件夹是否存在
*
* @param dir
* @param ftpClient
* @return
*/
private static Boolean isDirExist(String dir) {
try {
ftpClient.changeDirectory(dir);
} catch (Exception e) {
return false ;
}
return true ;
}
/**
* 创建文件夹
*
* @param dir
* @param ftpClient
* @throws Exception
*/
private static void createDir(String dir) throws Exception {
ftpClient.setAsciiType();
StringTokenizer s = new StringTokenizer(dir, "/" ); // sign
s.countTokens();
String pathName = "" ;
while (s.hasMoreElements()) {
pathName = pathName + "/" + (String) s.nextElement();
try {
ftpClient.makeDirectory(pathName);
} catch (Exception e) {
e = null ;
}
}
ftpClient.setBinaryType();
}
} |
相关推荐
在开发过程中,经常会遇到需要编写FTP文件上传程序的需求,比如在本例中的“FTP文件上传vc6.o”,这通常意味着我们需要创建一个程序,使用FTP协议将编译后的对象文件“vc6.o”上传到服务器。 FTP文件上传程序的核心...
以上就是使用C#的`FtpWebRequest`类实现FTP文件上传和下载的基本步骤。在实际应用中,可能还需要处理异常、错误检查、断点续传等功能。在开发过程中,确保遵循最佳实践,如使用异步操作以提高性能,以及确保数据的...
Java FTP文件上传下载是Java开发中常见的网络编程任务,它涉及到Java语言的Socket编程和FTP(File Transfer Protocol)协议的应用。FTP是一种用于在网络上进行文件传输的标准协议,它允许客户端从服务器上获取文件...
本资源提供了FTP文件上传的源代码,适用于上传图片等各类文件,这对于开发者来说是一个宝贵的参考资料。 FTP上传的基本流程包括以下步骤: 1. **连接**:客户端通过TCP建立与FTP服务器的连接,通常使用21号端口。...
在IT行业中,集成不同的技术以实现自动化流程是常见的需求,比如本例中的“java + sybase 定时ftp文件上传”。这个场景涉及到Java编程、Sybase数据库管理和FTP文件传输等核心知识点,接下来我们将深入探讨这些内容。...
ftp文件上传工具 破解版 使用 ! 下载后请于24小时内删除,切勿用于任何商业用途,否则,后果自负!
Java作为多平台支持的编程语言,提供了丰富的库和API来实现FTP文件上传功能。本篇文章将详细探讨如何使用Java实现FTP文件上传,以及相关类的作用。 首先,我们来看标题和描述中的关键词"java实现的ftp文件上传",这...
以下将详细介绍如何使用Java实现FTP文件上传和下载的步骤,以及涉及到的关键知识点。 首先,Java通过`java.net`和`javax.net`包提供了FTP功能,但这些原生API并不易用。因此,大多数开发人员会使用第三方库如Apache...
### FTP文件上传 1. **单文件上传**:客户端选择一个本地文件,通过`PUT`命令发送到FTP服务器指定的目录下。文件的传输可以是ASCII模式或二进制模式,取决于文件类型。 2. **多文件上传**:客户端可以一次上传多个...
标题“VB FTP文件上传、下载”指的是使用VB进行FTP文件交互的实践。这通常涉及到以下知识点: 1. **FTP基础**:理解FTP的基本工作原理,包括主动模式和被动模式、FTP命令(如`PUT`用于上传,`GET`用于下载)、身份...
本教程主要介绍如何在Android Studio项目中集成FTP文件上传功能。 首先,我们需要在Android Studio的项目中添加FTP相关的库。一个常用的FTP客户端库是`android-ftpclient`,它简化了Android应用与FTP服务器的交互。...
这个“NET FTP文件上传实例”提供了一个具体的.NET平台下实现FTP文件上传的示例,这对于开发者来说是一个非常实用的学习资源。 在.NET框架中,我们可以利用System.Net命名空间下的FtpWebRequest和FtpWebResponse类...
ftp文件上传和下载 FTP(File Transfer Protocol,文件传输协议)是一种常用的网络协议,用于在不同的计算机之间传输文件。FTP协议使用TCP协议作为传输层协议,通常使用端口号21作为控制连接的端口号。FTP协议分为...
对于FTP文件上传,你需要设置`CURLOPT_UPLOAD`选项,并提供本地文件的路径。`curl_easy_perform()`会将本地文件上传到FTP服务器指定的位置。 **文件下载** 下载文件时,设置`CURLOPT_WRITEFUNCTION`回调函数,用来...
FTP文件上传下载器是一款基于FTP(File Transfer Protocol)协议开发的应用程序,主要功能是实现文件的上传和下载。FTP是一种互联网标准,用于在不同网络之间的计算机之间交换文件。这款工具通常由C#编程语言实现,...
FTP文件传输协议(FTP,File Transfer ...总之,FTPManager类提供了一种在C++程序中方便地实现FTP文件上传和下载功能的方式。通过使用这个类,开发者可以避免编写复杂的网络代码,而是集中精力在他们的应用程序逻辑上。
在Android平台上进行FTP文件上传,通常涉及到网络编程和文件操作,这两个方面是Android开发中的重要组成部分。FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在客户端和服务器之间传输文件。Socket是...
在这个“Ftp文件上传Demo”中,我们将深入探讨FTP文件上传的过程、相关概念以及如何实现一个简单的FTP文件上传功能。 首先,理解FTP的工作原理至关重要。FTP基于TCP/IP协议栈,通过建立两个独立的连接来完成文件...
FTP文件上传是网站开发、数据迁移和系统管理等任务中常见的操作。 FTP服务器是提供FTP服务的软件,允许其他设备(客户端)连接并进行文件交互。在本文中,我们将讨论FTP文件上传的基本概念、配置FTP服务器以及使用...
在本场景中,我们将探讨如何在WinForm应用中实现FTP文件上传以及读取FTP服务器上的文件。 首先,我们需要了解FTP的基本操作。FTP允许用户进行文件的上传、下载、删除等操作。在C#中,我们可以使用`System.Net....