- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
javaftp实现上传下载解决编码问题
ftp实现上传下载,解决了编码问题。
很多人都碰到ftp的上传下载文件的实现,很容易碰到一些问题,最难解决的是乱码的问题,在网上有哪些信誉好的足球投注网站了挺多,也没人能讲得清楚详细的,这里把自己实现的程序贴出来,供大家参考。以后碰到这些问题,可以自己多看看java的API,还是很有帮助的。 另外在实现ftp上传下载的时候,还要多考虑一下上传下载失败或者网络连接断开的问题,这需要不同情况不同的处理了,这里不作描述了。 1 解决乱码的关键 FtpClient的默认编码格式ISO-8859-1,很多地方都提到了.NetworkClient类中的encoding属性,能设置ftp的编码格式,但这个属性是不能直接访问的,可以通过继承FtpClient类的方式来访问;
/** * * pTitle: FtpOperation.java/p * pDescription: 为了改变FtpClient的默认编码格式ISO-8859-1为utf-8(或GBK)支持中文,实现了此类继承FtpClient/p * pCopyright: Copyright (c) 2009/p * pCompany: /p * @author * @version 1.0 * */public class CustomFtpClient extends FtpClient { private CustomFtpClient() { super(); } /** * 初始化时必须指定服务器的编码格式 * @param encodingStr */ protected CustomFtpClient(String encodingStr) { super(); .NetworkClient.encoding = encodingStr; } /** * 设置连接编码 * @param encodingStr * void * */ protected void setEncoding(String encodingStr) { .NetworkClient.encoding = encodingStr; } /** * 取得编码格式 * @return * String * */ protected String getEncoding() { return .NetworkClient.encoding ; }}
2. 这个类就是ftp上传下载的处理类,主要是注意对连接的处理和一些细节问题,也比较简单,就是要仔细点,这里不啰嗦了。
/** * * p * Title: FtpUtils.java * /p * p * Description: FTP相关的操作类,提供ftp登录、ftp上传文件、ftp下载文件等功能br/ * 使用说明:br/ * FtpUtil ftp = new FtpUtil(localhost, test, test, GBK,test, 21); //初始化信息br/ * ftp.connectServer();br/ * 如果需要以ascii格式操作,要调用方法ftp.ftpClient.ascii();br/ * **ftp的相关操作**br/ * ftp.closeConnect();br/ * /p * p * Copyright: Copyright (c) 2009 * /p * p * Company: * /p * * @author * @version 1.0 * */public class FtpUtil { private String serverIp = ; // 服务器ip private String userName = ; // 登录服务器用户名 private String password = ; // 登录服务器密码 private String path = ; // 服务器路径 private int serverPort = -1; // 服务器端口号 private String encoding = GBK; //服务器端编码格式 protected CustomFtpClient ftpClient = null; OutputStream os = null; FileInputStream is = null; /** * 构造函数,用配
文档评论(0)