java 操作FTP.docx
- 文档编号:8902366
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:23
- 大小:18.86KB
java 操作FTP.docx
《java 操作FTP.docx》由会员分享,可在线阅读,更多相关《java 操作FTP.docx(23页珍藏版)》请在冰点文库上搜索。
java操作FTP
注释写得比较详细了,若有写得不够简练或者还有优化余地的地方望高手不吝赐教
packagecom.order.cc.tool.pub;
import.ftp.*;
import.*;
importjava.applet.*;
importjava.io.*;
importjava.io.IOException;
importjava.util.StringTokenizer;
import.ftp.FtpClient;
importjava.util.ArrayList;
publicclassFtp//extendsApplet
{
FtpClientaftp;
DataOutputStreamoutputs;
TelnetInputStreamins;
TelnetOutputStreamouts;
intch;
publicStringa;
Stringhostname="";
privateStringpath="/";
publicstaticvoidmain(String[]args){
String queryIndexDir="D:
\\";
StringqueryindexCommDir="queryIndex";
//Stringdd="C:
\\ProgramFiles\\ApacheSoftwareFoundation\\Tomcat5.0\\webapps\\focus\\data\\fileupload\\bf\\";
//Stringff="atts";
//Ftp.FtpToDir(dd,ff,"172.18.2.137","atts","atts");
Stringdd="dddddddd";
System.out.println(dd.trim());
Stringbb="";
System.out.println(bb.trim());
}
/*
*dir:
主目录
*commDir:
是最后一个目录
*uid:
用户名称
*pwd:
密码
*hostname:
ftp服务器的地址
*/
publicstaticvoidFtpToDirByName(Stringdir,StringcommDir,Stringhostname,Stringuid,Stringpwd,StringattsName){
intport=21;
StringRWFileDir=dir;
//连接ftp服务器
Ftpft=newFtp();
ft.connect(RWFileDir,hostname,port,uid,pwd);
if(ft.aftp!
=null){
Stringsdir=RWFileDir+commDir+"\\";
Filefdir=newFile(sdir);
StringFileName="";
String[]files=fdir.list();
for(inti=0;i if(attsName.equals((fdir.list())[i])){ FileName=sdir+(fdir.list())[i]; ft.uploadFile(RWFileDir,FileName); } } } ft.stop(RWFileDir); } publicstaticvoidFtpToDir(Stringdir,StringcommDir,Stringhostname,Stringuid,Stringpwd){ intport=21; StringRWFileDir=dir; //连接ftp服务器 Ftpft=newFtp(); ft.connect(RWFileDir,hostname,port,uid,pwd); if(ft.aftp! =null){ Stringsdir=RWFileDir+commDir+"\\"; Filefdir=newFile(sdir); StringFileName=""; String[]files=fdir.list(); for(inti=0;i FileName=sdir+(fdir.list())[i]; ft.uploadFile(RWFileDir,FileName); } } ft.stop(RWFileDir); } publicstaticvoidFtpTo(Stringdir){ Stringhostname="172.18.2.137"; intport=21; Stringuid="known"; Stringpwd="known"; StringRWFileDir=dir; //连接ftp服务器 Ftpft=newFtp(); ft.connect(RWFileDir,hostname,port,uid,pwd); //下载文件 //if(ft.aftp! =null){ //try{ //ft.getNameList(RWFileDir); //}catch(IOExceptione) //{ //System.out.println("下载文件出错: "+e); //} //} //上传文件 if(ft.aftp! =null){ Stringsdir=RWFileDir+"queryIndex1\\"; Filefdir=newFile(sdir); StringFileName=""; String[]files=fdir.list(); for(inti=0;i FileName=sdir+(fdir.list())[i]; ft.uploadFile(RWFileDir,FileName); } //System.out.println("成功上传的文件: "); //ft.showFileContents("subunsubfromsp\\");//subunsubfromsp } //删除subunsubfromsp目录下已经上传的文件文件 //ft.deleFile(RWFileDir); //断开服务器连接 ft.stop(RWFileDir); } publicFtpClientconnect(StringRWFileDir,Stringhostname,intport, Stringuid,Stringpwd){ this.hostname=hostname; //System.out.println("正在连接"+hostname+",请等待....."); try{ aftp=newFtpClient(hostname,port); aftp.login(uid,pwd); aftp.binary(); //aftp.openPortDataConnection(); a="连接主机: "+hostname+"成功! "; System.out.println(a); }catch(FtpLoginExceptione){ a="登陆主机: "+hostname+"失败! 请检查用户名或密码是否正确: "+e; System.out.println(a); //returnfalse; }catch(IOExceptione){ a="连接主机: "+hostname+"失败! 请检查端口是否正确: "+e; System.out.println(a); //returnfalse; }catch(SecurityExceptione){ a="无权限与主机: "+hostname+"连接! 请检查是否有访问权限: "+e; System.out.println(a); //returnfalse; } //log(RWFileDir,a); returnaftp; } publicvoidstop(StringRWFileDir){ Stringmessage=""; try{ if(aftp! =null){ aftp.closeServer(); message="与主机"+hostname+"连接已断开! "; //System.out.println(message); log(RWFileDir,message); } }catch(IOExceptione){ message="与主机"+hostname+"断开连接失败! "+e; //System.out.println(message); log(RWFileDir,message); } } publicbooleandownloadFile(StringRWFileDir,Stringfilepathname){ booleanresult=true; Stringmessage=""; if(aftp! =null){ //System.out.println("正在下载文件"+filepathname+",请等待...."); Stringbadfile=filepathname.substring(filepathname.length()-4, filepathname.length()); Stringbadlog=filepathname.substring(filepathname.length()-7, filepathname.length()); Stringbaddir=""; if((pareTo(".bad")! =0) &&(pareTo(".badlog")! =0)){ baddir="subunsubtosp\\"; }else{ baddir="bad\\"; } Stringstrdir="subunsubtosp\\"; //System.out.println(RWFileDir+baddir+filepathname); try{ //FtpClientfc=newFtpClient("192.168.0.56",2121); //fc.login("lee","lee"); intch; Filefi=newFile(RWFileDir+baddir+filepathname); //aftp.cd(strdir); RandomAccessFilegetFile=newRandomAccessFile(fi,"rw"); getFile.seek(0); TelnetInputStreamfget=aftp.get(strdir+filepathname); DataInputStreamputs=newDataInputStream(fget); while((ch=puts.read())>=0){ getFile.write(ch); } //s.delete(); fget.close(); getFile.close(); //fc.closeServer(); message="下载"+filepathname+"文件到"+baddir+"目录成功! "; //System.out.println(message); log(RWFileDir,message); }catch(IOExceptione){ message="下载"+filepathname+"文件到"+baddir+"目录失败! "+e; //System.out.println(message); log(RWFileDir,message); result=false; } }else{ result=false; } returnresult; } publicbooleanuploadFile(StringRWFileDir,Stringfilepathname){ booleanresult=true; Stringmessage=""; if(aftp! =null){ System.out.println("正在上传文件"+filepathname+",请等待...."); try{ Stringfg=newString("file: //subunsubfromsp//"); intindex=filepathname.lastIndexOf(fg); System.out.println("index==="+index); Stringfilename=filepathname.substring(index+1); System.out.println("filename==="+filename); // FilelocalFile=newFile(filepathname); RandomAccessFilesendFile=newRandomAccessFile(filepathname, "r"); // sendFile.seek(0); //改名上传temp_ //filename=filename.substring(0,15)+"temp_" //+filename.substring(15,filename.length()); outs=aftp.put(filename); outputs=newDataOutputStream(outs); while(sendFile.getFilePointer() ch=sendFile.read(); outputs.write(ch); } //rename(filename.substring(15,filename.length()),filename // .substring(20,filename.length())); outs.close(); sendFile.close(); message="上传"+filepathname+"文件成功! "; System.out.println(message); //log(RWFileDir,message); }catch(IOExceptione){ message="上传"+filepathname+"文件失败! "+e; //System.out.println(message); //log(RWFileDir,message); result=false; } }else{ result=false; } returnresult; } publicvoidrename(StringoldName,StringnewName){ //aftp.renameTo(oldName,newName); FileOld=newFile(oldName);//oldName FileNew=newFile(newName);//newName //aftp.renameTo(New); //booleanOld.renameTo(FilenewName); //System.out.println(Old); //System.out.println(New); } publicstaticvoiddeleFile(StringRWFileDir){ //try{ //取得ReadFile目录下的txt文件 //Stringsdir=RWFileDir+"subunsubfromsp\\"; Stringsdir=RWFileDir+"imges\\"; //System.out.println(sdir); //imges Filefdir=newFile(sdir); StringFileName=""; intj=fdir.list().length; Filefile; for(inti=0;i //删除subunsubfromsp中的txt文件 FileName=RWFileDir+"imges\\"+(fdir.list())[i]; file=newFile(FileName); file.delete(); //System.out.println("已经成功删除"+FileName+"文件! "); } } publicstaticvoiddeleFile(StringRWFileDir,StringcommDir){ try{ Stringsdir=RWFileDir+commDir+"\\"; System.out.println(sdir); //imges Filefdir=newFile(sdir); StringFileName=""; intj=fdir.list().length; System.out.println(sdir+"目录下要删除的文件数: "+j); Filefile; intcn=0; if(j>0){ for(inti=0;i //删除subunsubfromsp中的txt文件 FileName=RWFileDir+commDir+"\\"+(fdir.list())[i]; System.out.println(FileName); if((fdir.list())[i].equals("deletable")||(fdir.list())[i].equals("segments")){ }else{ file=newFile(FileName); file.delete(); cn=cn+1; System.out.println("已经成功删除"+FileName+"文件! "); System.out.println(sdir+"目录下要xxxxxx删除的文件数: "+fdir.list().length); if(fdir.list().length>0){ Ftp.deleFile(RWFileDir,commDir); } } }//for } if(j==0){ System.out.println("目录下要xxxxxx删除全部文件: "); } }catch(Exceptionex){ ex.printStackTrace(); } } /* *删除目录下的固定的文件 *RWFileDir: 主目录,为了和本bean的方法一致 *commDir: 次目录 *delFileName: 要删除的文件名称 */ publicstaticvoiddeleFile(StringRWFileDir,StringcommDir,StringdelFileName){ Stringsdir=RWFileDir+commDir+"\\"; Filefdir=newFile(sdir); StringFileName=""; intj=fdir.list().length; Filefile; for(inti=0;i //删除subunsubfromsp中的txt文件 FileName=RWFileDir+commDir+"\\"+(fdir.list())[i]; StringfileName=(fdir.list())[i]; if(delFileName.equals(file
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 操作FTP 操作 FTP