java做的比较完善的FTP连接上传下载文件.docx

上传人:b****4 文档编号:24470228 上传时间:2023-05-27 格式:DOCX 页数:14 大小:17.46KB
下载 相关 举报
java做的比较完善的FTP连接上传下载文件.docx_第1页
第1页 / 共14页
java做的比较完善的FTP连接上传下载文件.docx_第2页
第2页 / 共14页
java做的比较完善的FTP连接上传下载文件.docx_第3页
第3页 / 共14页
java做的比较完善的FTP连接上传下载文件.docx_第4页
第4页 / 共14页
java做的比较完善的FTP连接上传下载文件.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

java做的比较完善的FTP连接上传下载文件.docx

《java做的比较完善的FTP连接上传下载文件.docx》由会员分享,可在线阅读,更多相关《java做的比较完善的FTP连接上传下载文件.docx(14页珍藏版)》请在冰豆网上搜索。

java做的比较完善的FTP连接上传下载文件.docx

java做的比较完善的FTP连接上传下载文件

ÕâÊÇżµÚÒ»´ÎдJava³ÌÐòʵÏÖ¹«Ë¾ÒªÇóµÄFTPÊý¾Ýͬ²½£¬ËùÓÐÔ´úÂëÈçÏ£¬ÒÔ¹©¸÷λ²Î¿¼²¢Ìá³ö±¦¹óÒâ¼û£¡

ÁíÍâ°³»¹ÓÐÁ½¸ö¹¦ÄÜûÓÐʵÏÖ£¬ÓÐÇë¸ßÊÖÖ¸µãÒ»¶þ£º

1¡¢ÈçºÎɾ³ýFTP·þÎñÆ÷ÉÏÒѾÏÂÔعýµÄÎļþ£¿

2¡¢ÈçºÎ½«ÉÏ´«µÄÎļþ¸ÄÃû£¿ÉÏ´«Ê±ÔÚÎļþÃûÇ°¼Ó¡°temp_¡±£¬ÉÏ´«Íê±ÏºóÐèÒª°ÑÎļþÃû¸Ä»ØÀ´¡£

3¡¢ÈçºÎʹÓÃopenPassiveDataConnection()·½·¨½«ftpÁ¬½Ó¸ü¸ÄΪÖ÷¶¯Á¬½Ó£¬ÒòΪҪ´ÓunixϵͳÅäÖõÄftp·þÎñÆ÷ÏÂÔØÎļþµÄ»°£¬¾ÍÐèÒªÖ÷¶¯Á¬½Ó¡£

 

/*

*******************************************************************************************************

Filename:

ftp.java

Author:

leetsing(elove)

Createdate:

2004-08-30

Use:

connecttoFTPserver,thenuploadanddownloadfile

Modifydate:

2004-09-05addtouploadfile

2004-09-13addtodownloadfile

Copyright:

MagiskyMediaTechnologyCo.,Ltd.

*******************************************************************************************************

*/

//importcz.dhl.io.*;

//importcz.dhl.ftp.*;

import.ftp.*;

import.*;

importjava.applet.*;

importjava.io.*;

importjava.io.IOException;

importjava.util.StringTokenizer;

import.ftp.FtpClient;

importjava.util.ArrayList;

publicclassftpextendsApplet

{

FtpClientaftp;

DataOutputStreamoutputs;

TelnetInputStreamins;

TelnetOutputStreamouts;

intch;

publicStringa;

Stringhostname="";

privateStringpath="/";

publicstaticvoidmain(String[]args)

{

Stringhostname="192.168.0.56";

intport=2121;

Stringuid="lee";

Stringpwd="lee";

StringRWFileDir="D:

\\smsftp\\";//ÎļþĿ¼

//Á¬½Ó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+"subunsubfromsp\\";

Filefdir=newFile(sdir);

StringFileName="";

for(inti=0;iFileName=sdir+(fdir.list())[i];

ft.uploadFile(RWFileDir,FileName);

}

//System.out.println("³É¹¦ÉÏ´«µÄÎļþ£º");

//ft.showFileContents("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("\\subunsubfromsp\\");

intindex=filepathname.lastIndexOf(fg);

Stringfilename=filepathname.substring(index+1);

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\\";

Filefdir=newFile(sdir);

StringFileName="";

intj=fdir.list().length;

System.out.println(sdir+"Ŀ¼ÏÂҪɾ³ýµÄÎļþÊý£º"+fdir.list().length);

Filefile;

for(inti=0;i{

//ɾ³ýsubunsubfromspÖеÄtxtÎļþ

FileName=RWFileDir+"subunsubfromsp\\"+(fdir.list())[0];

file=newFile(FileName);

file.delete();

System.out.println("ÒѾ³É¹¦É¾³ý"+FileName+"Îļþ£¡");

}

//}

//catch(IOExceptione){

//System.out.println("ɾ³ýtxtÎļþ´íÎó!

");

//e.printStackTrace();

//}

}

 

publicvoidshowFileContents(Stringstrdir)

{

StringBufferbuf=newStringBuffer();

try{

aftp.cd(strdir);

ins=aftp.list();

while((ch=ins.read())>=0){

buf.append((char)ch);

}

System.out.println(buf.toString());

ins.close();

}

catch(IOExceptione)

{

}

}

 

//·µ»Øµ±Ç°Ä¿Â¼µÄËùÓÐÎļþ¼°Îļþ¼Ð

publicArrayListgetFileList()throwsIOException{

BufferedReaderdr=newBufferedReader(newInputStreamReader(aftp.list()));

ArrayListal=newArrayList();

Strings="";

while((s=dr.readLine())!

=null){

al.add(s);

}

returnal;

}

publicvoidsetPath(Stringpath)throwsIOException{

if(aftp==null)

this.path=path;

else{

aftp.cd(path);

}

}

//·µ»Øµ±Ç°Ä¿Â¼µÄÎļþÃû³Æ

publicArrayListgetNameList(StringRWFileDir)throwsIOException{

BufferedReaderdr=newBufferedReader(newInputStreamReader(aftp.nameList("subunsubtosp\\")));

ArrayListal=newArrayList();

Strings="";

while((s=dr.readLine())!

=null){

al.add(s);

s=s.substring(13,s.length());

isFile(s);

downloadFile(RWFileDir,s);

//StringstrFileDelF=aftp.nameList("subunsubtosp\\");

FilefileDelF=newFile(s);

fileDelF.delete();

}

returnal;

//System.out.println(al.add(s));

}

//ÅжÏÒ»ÐÐÎļþÐÅÏ¢ÊÇ·ñΪĿ¼

publicbooleanisDir(Stringline){

return((String)parseLine(line).get(0)).indexOf("d")!

=-1;

}

publicbooleanisFile(Stringline){

return!

isDir(line);

}

//´¦ÀígetFileListÈ¡µÃµÄÐÐÐÅÏ¢

privateArrayListparseLine(Stringline){

ArrayLists1=newArrayList();

StringTokenizerst=newStringTokenizer(line,"");

while(st.hasMoreTokens()){

s1.add(st.nextToken());

}

returns1;

}

//дÏûÏ¢ÈÕÖ¾

publicstaticvoidlog(StringRWFileDir,Stringmsg)

{

Stringmessage="";

try{

java.text.DateFormatdf=newjava.text.SimpleDateFormat("yyyy-MM-ddHH:

mm:

ss");

java.text.DateFormatdflog=newjava.text.SimpleDateFormat("yyyyMMdd");

java.util.Datedate=newjava.util.Date();

Stringdatestr=df.format(newjava.util.Date());

Stringdatelog=dflog.format(newjava.util.Date());

//Stringdatelog=datestr.substring(0,10);

//datelog=datelog.replace('-','');

//°´ÈÕÆÚÿÌìÉú³ÉÒ»¸öÈÕÖ¾Îļþ

FileWriterfwl=newFileWriter(RWFileDir+"CMSSftp"+datelog+".log",true);

PrintWriteroutl=newPrintWriter(fwl);

outl.println(datestr+""+msg);

outl.close();

fwl.close();

}catch(IOExceptione){

message="дlogÎļþ´íÎó!

"+e;

e.printStackTrace();

log(RWFileDir,message);

System.out.println(message);

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 畜牧兽医

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

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