導航:首頁 > 版本升級 > javaftp下載文件判斷重復

javaftp下載文件判斷重復

發布時間:2023-10-14 15:30:55

java如何測試連接ftp是否通

java測試連接ftp是否連通可以使用判斷是否有異常來決定,實例如下:

/**
*connectServer
*連接ftp伺服器
*@throwsjava.io.IOException
*@parampath文件夾,空代表根目錄
*@parampassword密碼
*@paramuser登陸用戶
*@paramserver伺服器地址
*/
publicvoidconnectServer(Stringserver,Stringuser,Stringpassword,Stringpath)
throwsIOException
{
//server:FTP伺服器的IP地址;user:登錄FTP伺服器的用戶名
//password:登錄FTP伺服器的用戶名的口令;path:FTP伺服器上的路徑
ftpClient=newFtpClient();
ftpClient.openServer(server);
ftpClient.login(user,password);
//path是ftp服務下主目錄的子目錄
if(path.length()!=0)ftpClient.cd(path);
//用2進制上傳、下載
ftpClient.binary();
}

/**
*upload
*上傳文件
*@throwsjava.lang.Exception
*@return-1文件不存在
*-2文件內容為空
*>0成功上傳,返迴文件的大小
*@paramnewname上傳後的新文件名
*@paramfilename上傳的文件
*/
publiclongupload(Stringfilename,Stringnewname)throwsException
{
longresult=0;
TelnetOutputStreamos=null;
FileInputStreamis=null;
try{
java.io.Filefile_in=newjava.io.File(filename);
if(!file_in.exists())return-1;
if(file_in.length()==0)return-2;
os=ftpClient.put(newname);
result=file_in.length();
is=newFileInputStream(file_in);
byte[]bytes=newbyte[1024];
intc;
while((c=is.read(bytes))!=-1){
os.write(bytes,0,c);
}
}finally{
if(is!=null){
is.close();
}
if(os!=null){
os.close();
}
}
returnresult;
}
/**
*upload
*@throwsjava.lang.Exception
*@return
*@paramfilename
*/
publiclongupload(Stringfilename)
throwsException
{
Stringnewname="";
if(filename.indexOf("/")>-1)
{
newname=filename.substring(filename.lastIndexOf("/")+1);
}else
{
newname=filename;
}
returnupload(filename,newname);
}

/**
*download
*從ftp下載文件到本地
*@throwsjava.lang.Exception
*@return
*@paramnewfilename本地生成的文件名
*@paramfilename伺服器上的文件名
*/
publiclongdownload(Stringfilename,Stringnewfilename)
throwsException
{
longresult=0;
TelnetInputStreamis=null;
FileOutputStreamos=null;
try
{
is=ftpClient.get(filename);
java.io.Fileoutfile=newjava.io.File(newfilename);
os=newFileOutputStream(outfile);
byte[]bytes=newbyte[1024];
intc;
while((c=is.read(bytes))!=-1){
os.write(bytes,0,c);
result=result+c;
}
}catch(IOExceptione)
{
e.printStackTrace();
}
finally{
if(is!=null){
is.close();
}
if(os!=null){
os.close();
}
}
returnresult;
}
/**
*取得某個目錄下的所有文件列表
*
*/
publicListgetFileList(Stringpath)
{
Listlist=newArrayList();
try
{
DataInputStreamdis=newDataInputStream(ftpClient.nameList(path));
Stringfilename="";
while((filename=dis.readLine())!=null)
{
list.add(filename);
}

}catch(Exceptione)
{
e.printStackTrace();
}
returnlist;
}

/**
*closeServer
*斷開與ftp伺服器的鏈接
*@throwsjava.io.IOException
*/
publicvoidcloseServer()
throwsIOException
{
try
{
if(ftpClient!=null)
{
ftpClient.closeServer();
}
}catch(IOExceptione){
e.printStackTrace();
}
}

publicstaticvoidmain(String[]args)throwsException
{
FtpUtilftp=newFtpUtil();
try{
//連接ftp伺服器
ftp.connectServer("10.163.7.15","cxl","1","info2");
/**上傳文件到info2文件夾下*/
System.out.println("filesize:"+ftp.upload("f:/download/Install.exe")+"位元組");
/**取得info2文件夾下的所有文件列表,並下載到E盤下*/
Listlist=ftp.getFileList(".");
for(inti=0;i<list.size();i++)
{
Stringfilename=(String)list.get(i);
System.out.println(filename);
ftp.download(filename,"E:/"+filename);
}
}catch(Exceptione){
///
}finally
{
ftp.closeServer();
}
}
}

Ⅱ 如何判斷FTP伺服器上的文件,文件頭都是一樣的後綴不一樣,怎麼把所有文件頭一樣的文件都下載下來

用VB 跟API,現提示下思路
先連接 用OpenConnection
然後 進入FTP 遍歷文件夾 (FtpFindFirstFile,InternetFindNextFile)
得到每項文件後,然後通過"." (instr(),mid()) 截取你想下載的文件頭
然後用下載 (FTPGetFile)
有些要引用API 函數。

閱讀全文

與javaftp下載文件判斷重復相關的資料

熱點內容
電腦沒聯網怎麼拷貝文件 瀏覽:224
wps工具欄怎麼換成中文 瀏覽:338
win7和xp共享文件 瀏覽:883
蘋果4代音量鍵沒反應 瀏覽:827
怎樣打開tif文件 瀏覽:153
java下載文件zip 瀏覽:440
qq瀏覽器壓縮文件怎麼設密碼 瀏覽:526
黃埔數控編程哪裡好 瀏覽:406
mac109升級1010 瀏覽:691
在java的菜單如何導入文件 瀏覽:982
現在什麼網站銷量最高 瀏覽:760
angularjsclass定義 瀏覽:157
ug數控編程怎麼導出程序 瀏覽:466
cmdb文件 瀏覽:710
鵯文件夾 瀏覽:763
網路輿情應對的基本理念是什麼 瀏覽:433
word2007層次結構 瀏覽:456
去掉文件名的數字 瀏覽:713
word公司 瀏覽:710
淘寶店數據包怎麼上傳 瀏覽:341

友情鏈接