javaftp復制文件
㈠ java程序跨伺服器復制文件
請查閱sun.net.ftp.FtpClient中的實現ftp連接管理類相關實現與方法文檔。相關的內嵌包為jre6\lib\rt.jar。在兩台Linux伺服器上都開放ftp服務。
㈡ ftp 如何復制文件夾
可以復制呀,選中文件A右擊滑鼠你會看到命令,但是如果A和B在同一個目錄下的話文件名是不能完全相同的
㈢ Java怎麼實現文件拷貝
工具/原料
一台配置了java環境的電腦
一款適合自己的開發集成環境,這里用的是eclipse Kepler
文件拷貝DEMO
1.首先,理清思路,然後我們再動手操作。
拷貝,有源文件,和目的文件。
如果原文件不存在,提示,報錯。
如果目的文件不存在,創建空文件並被覆蓋。
如果目的地址,也即目的路徑不存在,創建路徑。
拷貝,輸入流,輸出流,關閉流。
拷貝前輸出文件大小,計算拷貝大小,比較並核實。輸出。
㈣ FTP 復制文件命令
FTP 復制文件命令是get 文件名
1) 說明:顯示ftp命令的說明。後面可以加參數,是加需要解釋的命令名,不加則顯示包含所有命令列表。
2)說明:功能是在本地計算機上運行指定命令。
如! command 其中command就是你要運行的命令,如果不加command這個參數的話,則顯示本地命令提示, 這時你輸入exit命令就能返回到ftp了。
3)$ macro-ame[args]
說明:執行宏定義macro-name。
4) append
說明:使用當前文件類型設置,將本地文件附加到遠程計算機中。大概格式是append local-file [remote-file] 其中local-file是說指定要添加的本地文件。remote-file是說指定要將local-file附加到遠程計算機文件,要是省了這個,則是使用本地文件名做遠程文件名。
㈤ 怎麼把FTP上的東西全部復制下來/
這瀏覽器地址欄中輸入:
ftp://219.228.40.69
然後根據提示輸入帳號密碼
裡面的東西就像操作自家的文件夾一樣
復制,新建,刪除
但一般都限制為只讀,所以不可以寫
下載就是復制
然後在自家的電腦上粘貼
順便說在訊雷中的操作
在訊雷主界面中》
單擊文件菜單》新建》
(彈出「建立新的下載任務」對話框)》
在網址(URL)中輸入地址(如ftp://219.228.40.69/*.*
,,,*.*表示ftp://219.228.40.69這個FTP下面的文件
比如,在ftp://219.228.40.69 中有一個文件kao.exe,那麼URL地址就是ftp://219.228.40.69/kao.exe,如果是ftp://219.228.40.69中的文件夾wokao下面的kao.exe,那麼URL就是ftp://219.228.40.69/wokao/kao.exe)
》
在「登陸到伺服器」選項前面鉤上》
在帳戶和密碼中寫上帳號及密碼》
確定即可
㈥ java如何拷貝文件到另一個目錄下
下面列舉出4種方式:
1、使用FileStreams復制
這是最經典的方式將一個文件的內容復制到另一個文件中。 使用FileInputStream讀取文件A的位元組,使用FileOutputStream寫入到文件B。正如你所看到的我們執行幾個讀和寫操作try的數據,所以這應該是一個低效率的,下一個方法我們將看到新的方式。 這是第一個方法的代碼:
㈦ java中怎麼實現ftp文件傳輸
packagecom.quantongfu.ftp.ftp;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.net.ServerSocket;
importjava.util.List;
importorg.apache.commons.net.ftp.FTPReply;
importorg.apache.log4j.Logger;
importorg.apache.log4j.net.SocketServer;
importcom.quantongfu.conf.FtpConf;
/**
*@項目名稱:telinSyslog
*@文件名稱:Ftp.java
*@創建日期:2015年9月14日下午3:22:08
*@功能描述:ftp實體類,用於連接,上傳
*@修訂記錄:
*/
publicclassFtp{
privatestaticLoggerlogger=Logger.getLogger(Ftp.class);
privateFTPClientftp;
/**
*
*@parampath
*上傳到ftp伺服器哪個路徑下
*@paramaddr
*地址
*@paramport
*埠號
*@paramusername
*用戶名
*@parampassword
*密碼
*@return
*@throwsException
*/
publicbooleanconnect()throwsException{
booleanresult=false;
ftp=newFTPClient();
intreply;
ftp.connect(FtpConf.FTP_HOST,FtpConf.FTP_PORT);
ftp.login(FtpConf.FTP_USER_NAME,FtpConf.FTP_PASSWORD);
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
ftp.setDataTimeout(60000);
reply=ftp.getReplyCode();
if(!FTPReply.isPositiveCompletion(reply)){
ftp.disconnect();
returnresult;
}
if(FtpConf.IS_FTP_DIRECTORY){
ftp.changeWorkingDirectory(FtpConf.FTP_DIRECTORY);
}
result=true;
returnresult;
}
/**
*
*@paramfiles
*上傳的文件
*@throwsException
*/
publicbooleanupload(Filefile)throwsIOException{
FileInputStreaminput=null;
try{
input=newFileInputStream(file);
booleanb=ftp.storeFile(file.getName()+".tmp",input);
if(b){
b=ftp.rename(file.getName()+".tmp",file.getName());
}
returnb;
}catch(Exceptione){
e.printStackTrace();
returnfalse;
}finally{
if(input!=null){
input.close();
}
}
}
/**
*
*@paramfiles
*上傳的文件
*@throwsException
*/
publicbooleanupload(ServerSocketserver,Filefile)throwsException{
FileInputStreaminput=null;
try{
if(!file.exists()){
returntrue;
}
input=newFileInputStream(file);
booleanb=ftp.storeFile(server,file.getName()+".tmp",input);
if(b){
b=ftp.rename(file.getName()+".tmp",file.getName());
if(b){
file.delete();
}
}
returnb;
}catch(Exceptione){
logger.error("ftperror"+e.getMessage());
returnfalse;
}finally{
if(input!=null){
try{
input.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
}
/*斷開連接*/
publicvoiddisConnect(){
try{
if(ftp!=null){
ftp.disconnect();
}
}catch(IOExceptione){
e.printStackTrace();
}
}
/*獲取連接*/
publicstaticFtpgetFtp(){
Ftpftp=newFtp();
try{
ftp.connect();
}catch(Exceptione){
logger.error("FTP連接異常"+e.getMessage());
e.printStackTrace();
}
returnftp;
}
/*重連*/
publicFtpreconnect(){
disConnect();
returngetFtp();
}
}
使用Apache FtpClient jar包,獲取jar : http://commons.apache.org/net/
㈧ 我想登錄一個ftp然後把某個目錄的所有文件考到另一個ftp的目錄的某個文件夾下用java代碼實現
用的commons-net包中的FTPClient
ftp1為拷貝目錄,ftp2為被拷貝目錄
你先登錄ftp2調用ftp1,
ftpClient1.changeWorkingDirectory(path);
InputStream inputStream = ftpClient1.retrieveFileStream(file.getName());
用這個代碼應該可以從ftp1中獲得一個inputStream ,在ftp2中可以做上傳操作
目錄的話ftp2還要做遞歸存放到list中,ftp2遍歷上傳. 其實我也沒做這個,希望思路有點幫助,應該可以實現.good luck!~~~
㈨ java 將伺服器內的文件復制
你有FTPClient就比較好辦,假如你的兩台FTP伺服器分別為fs1和fs2
在本地開發代碼思路如下:
通過FTPClient連接上fs1,然後下載(可以循環批量下載)到本地伺服器,保存到一個臨時目錄。
下載完成後,FTPClient斷開與fs1的連接,記得必須logout。
本地伺服器通過FileInputStream將剛下載到臨時目錄的文件讀進來,得到一個List<File>集合。
通過FTPClient連接上fs2,循環List<File>集合,將文件上傳至fs2的特定目錄,然後清空臨時目錄,上傳完畢後,斷開fs2的連接,同樣必須logout。