- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Document number【AA80KGB-AA98YT-AAT8CB-2A6UT-A18GG】
Document number【AA80KGB-AA98YT-AAT8CB-2A6UT-A18GG】
JAVA中的FtpClient与FTPClient并实现jsp面ftp服务器上的文件
这段时间一直在研究如何访问Ftp,搞了一段时间了,也有一定的了解。故此记录一下。
ftp和FTP我个人觉得FTP更符合我们程序员的口味,不管是方法命名还是API的详细与否,或者是开发平台的问题,FTP毕竟是Apache的东西,做的就是不错。
其实web开发中一般都会涉及到编码问题,所以web上传下载一定会有中文乱码的问题存在,而FTP对中文的支持比ftp要好多了。
使用ftpClient不需要导入其它jar包,只要你使用java语言开发就行了,而使用FTPClient需要使用和,当然jar版本随便你自己。
话不多说,上代码!
FTP服务器的文件目录结构图:
一、FtpClient
FtpClient是属于JDK的包下面的类,但是jdkapi并没有对此作介绍,在中文支持上面也有一定的限制。
本段代码中的Ftp服务器的IP地址,用户名和密码均通过SystemCperties文档获取
Ftp_client.java
[java]
package;
import;
import;
import;
import;
import;
import;
import;
import;
import;
publicclassFtp_client{
//FTP客户端
privateFtpClientftpClient;
privateResourceBundleres=null;
/**
*连接FTP服务器
*@parampath指定远程服务器上的路径
*/
publicFtp_client(Stringpath){
res=ResourceBundle.getBundle();//获取配置文件propeties文档中的数据
try{
ftpClient=newFtpClient(res.getString(Properties.ftpHostIp));//如果不想使用配置文件即可将数据写死(如:)
ftpClient.login(res.getString(Properties.ftpUser),
res.getString(Properties.ftpPassword));//Ftp服务器用户名和密码
ftpClient.binary();
(Login?Success!);
if(path.length()!=0){
//把远程系统上的目录切换到参数path所指定的目录(可不用设置,上传下载删除时加Ftp中的全路径即可)
ftpClient.cd(path);
}
}catch(Exceptione){
e.printStackTrace();
}
}
/**
*上传文件
*@paramremoteFile
*@paramlocalFile
*/
publicbooleanupload(StringremoteFile,StringlocalFile){
booleanbool=false;
TelnetOutputStreamos=null;
FileInputStreamis=null;
try{
os=ftpClient.put(remoteFile);
is=newFileInputStream(newFile(localFile));
byte[]
b=newbyte[1024];
intc;
while((c=is.read(b))!=-1){
os.write(b,0,c);
}
bool=true;
}catch(Exceptione){
e.printStackTrace();
(上传文件失败!请检查系统FTP设置,并确认FTP服务启动);
}finally{
if(is!=null){
try{
is.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
if(os!=null){
try{
os.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
closeConnect();
}
returnbool;
}
/**
*下载文件
*@paramremoteFile远程文件路径(服务器端)
*@paramlocalFile本地文件路径(客户端)
*/
publicvoiddownload(StringremoteFi
文档评论(0)