Java实现ftp上传文件、文件夹


 1     import java.io.File;
2 import java.io.FileInputStream;
3 import org.apache.commons.net.ftp.FTPClient;
4 import org.apache.commons.net.ftp.FTPReply;
5
6 public class test {
7
8 private FTPClient ftp;
9 /**
10 *
11 * @param path 上传到ftp服务器哪个路径下
12 * @param addr 地址
13 * @param port 端口号
14 * @param username 用户名
15 * @param password 密码
16 * @return
17 * @throws Exception
18 */
19 private boolean connect(String path,String addr,int port,String username,String password) throws Exception {
20 boolean result = false;
21 ftp = new FTPClient();
22 int reply;
23 ftp.connect(addr,port);
24 ftp.login(username,password);
25 ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
26 reply = ftp.getReplyCode();
27 if (!FTPReply.isPositiveCompletion(reply)) {
28 ftp.disconnect();
29 return result;
30 }
31 ftp.changeWorkingDirectory(path);
32 result = true;
33 return result;
34 }
35 /**
36 *
37 * @param file 上传的文件或文件夹
38 * @throws Exception
39 */
40 private void upload(File file) throws Exception{
41 if(file.isDirectory()){
42 ftp.makeDirectory(file.getName());
43 ftp.changeWorkingDirectory(file.getName());
44 String[] files = file.list();
45 for (int i = 0; i < files.length; i++) {
46 File file1 = new File(file.getPath()+"\\"+files[i] );
47 if(file1.isDirectory()){
48 upload(file1);
49 ftp.changeToParentDirectory();
50 }else{
51 File file2 = new File(file.getPath()+"\\"+files[i]);
52 FileInputStream input = new FileInputStream(file2);
53 ftp.storeFile(file2.getName(), input);
54 input.close();
55 }
56 }
57 }else{
58 File file2 = new File(file.getPath());
59 FileInputStream input = new FileInputStream(file2);
60 ftp.storeFile(file2.getName(), input);
61 input.close();
62 }
63 }
64 public static void main(String[] args) throws Exception{
65 test t = new test();
66 t.connect("", "localhost", 21, "yhh", "yhhazr");
67 File file = new File("e:\\uploadify");
68 t.upload(file);
69 }
70 }

其中port:21是默认端口,可以不写

时间: 2024-09-29 22:18:18

Java实现ftp上传文件、文件夹的相关文章

Java通过ftp上传Linux文件权限问题

背景:Java使用ftp上传文件,此文件允许别的用户去访问.Linux上ftp如下: lftp-3.7.11-4.el5ftp-0.17-35.el5tftp-server-0.49-2 ftp服务器为lftp,可以看到,支持site命令: 所以,我们需要在ftp连接成功后发送命令使用"site umask 022",如下: ftpClient.sendCommand("site umask 022"). 注:权限最高为666,rwrwrw 022代表的是644,r

Java 利用FTP上传,下载文件,遍历文件目录

Java实现FTP上传下载文件的工具包有很多,这里我采用Java自带的API,实现FTP上传下载文件.另外JDK1.7以前的版本与其之后版本的API有了较大的改变了. 例如: JDK1.7之前 JDK1.7 ftpClient = new FtpClinet() ftpClient = FtpClient.create(ip) ftpclient.login(user,password) ftpclient.login(user,null,password) ftpclient.binary()

FTP上传指定文件夹及其文件到服务器

1.在服务器端的IIS上建立一个FTP站点 注意事项:路径关联到你要存放(上传内容)的文件夹名称: 指定这个FTP站点的ip地址和端口号 2.本地准备代码 -------------------------------2.1上传类--------------------------------------------------------- public class Up    {        /// <summary>        ///   上传文件菜单        /// <

Delphi调用JAVA的WebService上传XML文件(XE10.2+WIN764)

相关资料:1.http://blog.csdn.net/luojianfeng/article/details/512198902.http://blog.csdn.net/avsuper/article/details/8764165 注意事项: 1.生成WSDL文件时,D7可能有的无法生成,用XE版本可以全部生成. 返回字节流: 1 function GetByte(AString: string): TByteDynArray; 2 var 3 sByte: TByteDynArray;

2.1.5基础之命令行链接ftp dos中的ftp上传下载文件

Windows命令行batcmd脚本的应用之自动备份 异地备份2.1.5基础之命令行链接ftp dos中的ftp上传下载文件 讲解环境 VMware Workstation 12 桌面虚拟计算机软件创建虚拟机安装操作系统:http://edu.51cto.com/course/10007.html PC1:192.168.1.201 远程地址:192.168.100.100:2001 windows service2008 pc1 Admin111FTP虚拟用户 fileaa fileaaPC2

Java中实现FTP上传下载文件的功能,完整代码

一个JAVA 实现FTP功能的代码,包括了服务器的设置模块,并包括有上传文件至FTP的通用方法.下载文件的通用方法以及删除文件.在ftp服务器上穿件文件夹.检测文件夹是否存在等,里面的有些代码对编写JAVA文件上传或许有参考价值,Java FTP主文件代码: package ftpDemo;         import java.io.DataOutputStream;         import java.io.InputStream;         import java.io.Out

java:FTP上传文件

public class FtpUpload {     private FTPClient client;     /**      * 连接FTP服务器并改变选程FTP服务器路径      *       */     public void connect(FtpConfig config) throws SocketException, IOException {         client = new FTPClient();         client.connect(confi

java web图片上传和文件上传

图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多,但底层的实现都是文件的读写操作. 注意事项 1.form表单一定要写属性enctype="multipart/form-data" 2.为了能保证文件能上传成功file控件的name属性值要和你提交的控制层变量名一致, 例如空间名是file那么你要在后台这样定义 private File file; //file控件名 private String fileContentType;//图

ftp上传下载文件

上传文件: <?php /** * ftp上传文件 */ $ftp_server='localhost';//服务器 $ftp_port='21';//端口 $ftp_user_name='ftp';//用户名 $ftp_user_pass='zxcasdqwe123';//密码 $ftp_put_dir='/root';//上传目录 $ftp_conn_id = ftp_connect($ftp_server,$ftp_port); $ftp_login_result = ftp_login(