ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:21.66KB ,
资源ID:6531530      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6531530.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FTP文件的上传下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

FTP文件的上传下载.docx

1、FTP文件的上传下载package com.why.ftp; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; import .T

2、elnetInputStream; import .TelnetOutputStream; import .ftp.FtpClient; /* * ftp上传,下载 * author why 2009-07-30 * */ public class FtpUtil private String ip = ; private String username = ; private String password = ; private int port = -1; private String path = ; FtpClient ftpClient = null; OutputStream o

3、s = null; FileInputStream is = null; public FtpUtil(String serverIP, String username, String password) this.ip = serverIP; this.username = username; this.password = password; public FtpUtil(String serverIP, int port, String username, String password) this.ip = serverIP; this.username = username; thi

4、s.password = password; this.port = port; /* * 连接ftp服务器 * * throws IOException */ public boolean connectServer() ftpClient = new FtpClient(); try if(this.port != -1) ftpClient.openServer(this.ip,this.port); else ftpClient.openServer(this.ip); ftpClient.login(this.username, this.password); if (this.pa

5、th.length() != 0) ftpClient.cd(this.path);/ path是ftp服务下主目录的子目录 ftpClient.binary();/ 用2进制上传、下载 System.out.println(已登录到 + ftpClient.pwd() + 目录); return true; catch (IOException e) e.printStackTrace(); return false; /* * 断开与ftp服务器连接 * * throws IOException */ public boolean closeServer() try if (is != n

6、ull) is.close(); if (os != null) os.close(); if (ftpClient != null) ftpClient.closeServer(); System.out.println(已从服务器断开); return true; catch(IOException e) e.printStackTrace(); return false; /* * 检查文件夹在当前目录下是否存在 * param dir * return */ private boolean isDirExist(String dir) String pwd = ; try pwd =

7、ftpClient.pwd(); ftpClient.cd(dir); ftpClient.cd(pwd); catch(Exception e) return false; return true; /* * 在当前目录下创建文件夹 * param dir * return * throws Exception */ private boolean createDir(String dir) try ftpClient.ascii(); StringTokenizer s = new StringTokenizer(dir, /); /sign s.countTokens(); String

8、 pathName = ftpClient.pwd(); while(s.hasMoreElements() pathName = pathName + / + (String) s.nextElement(); try ftpClient.sendServer(MKD + pathName + rn); catch (Exception e) e = null; return false; ftpClient.readServerResponse(); ftpClient.binary(); return true; catch (IOException e1) e1.printStackT

9、race(); return false; /* * ftp上传 * 如果服务器段已存在名为filename的文件夹,该文件夹中与要上传的文件夹中同名的文件将被替换 * * param filename 要上传的文件(或文件夹)名 * return * throws Exception */ public boolean upload(String filename) String newname = ; if(filename.indexOf(/) -1) newname = filename.substring(filename.lastIndexOf(/) + 1); else newn

10、ame = filename; return upload(filename, newname); /* * ftp上传 * 如果服务器段已存在名为newName的文件夹,该文件夹中与要上传的文件夹中同名的文件将被替换 * * param fileName 要上传的文件(或文件夹)名 * param newName 服务器段要生成的文件(或文件夹)名 * return */ public boolean upload(String fileName, String newName) try String savefilename = new String(fileName.getBytes(I

11、SO-8859-1), GBK); File file_in = new File(savefilename);/打开本地待长传的文件 if(!file_in.exists() throw new Exception(此文件或文件夹 + file_in.getName() + 有误或不存在!); if(file_in.isDirectory() upload(file_in.getPath(),newName,ftpClient.pwd(); else uploadFile(file_in.getPath(),newName); if(is != null) is.close(); if(os

12、 != null) os.close(); return true; catch(Exception e) e.printStackTrace(); System.err.println(Exception e in Ftp upload(): + e.toString(); return false; finally try if(is != null) is.close(); if(os != null) os.close(); catch(IOException e) e.printStackTrace(); /* * 真正用于上传的方法 * param fileName * param

13、 newName * param path * throws Exception */ private void upload(String fileName, String newName,String path) throws Exception String savefilename = new String(fileName.getBytes(ISO-8859-1), GBK); File file_in = new File(savefilename);/打开本地待长传的文件 if(!file_in.exists() throw new Exception(此文件或文件夹 + fil

14、e_in.getName() + 有误或不存在!); if(file_in.isDirectory() if(!isDirExist(newName) createDir(newName); ftpClient.cd(newName); File sourceFile = file_in.listFiles(); for(int i = 0; i =0 成功上传,返回文件的大小 * throws Exception */ public long uploadFile(String filename, String newname) throws Exception long result =

15、0; TelnetOutputStream os = null; FileInputStream is = null; try java.io.File file_in = new java.io.File(filename); if(!file_in.exists() return -1; os = ftpClient.put(newname); result = file_in.length(); is = new FileInputStream(file_in); byte bytes = new byte1024; int c; while(c = is.read(bytes) != -1) os.write(bytes, 0, c); finally if(is != null) is.close(); if(os != null) os.close(); return result; /* * 从ftp下载文件到本地 * * param filename 服务器上的文件名 * param newfilename 本地生成的文件名 * return * throws Exception */ public long downloadFile(String filen

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1