1. 程式人生 > >ftp(io流)相關操作的程式碼

ftp(io流)相關操作的程式碼

 

ftp(io流)相關操作的程式碼

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import org.apache.commons.net.ftp.FTPClient;

import org.apache.commons.net.ftp.FTPFile;

import org.apache.commons.net.ftp.FTPReply;

 

 /*ftpHost為FTP伺服器的IP地址,port為FTP伺服器的登陸埠,ftpHost為String型,port為

int型。

舉例:ftpHost:127.0.0.1(IP),port:21(推送埠號)

*/

FTPClient ftpClient = new FTPClient();

ftpClient.connect(ftpHost, port);

// 開啟ftp,userName、passWord分別為FTP伺服器的登陸使用者名稱和密碼

ftpClient.login(userName,passWord);

ftpClient.enterLocalPassiveMode();

ftpClient.setBufferSize(1024);

ftpClient.setControlEncoding("GBK"

);

// 設定檔案型別

ftpClient.setFileType(FTPClient.CARRIAGE_CONTROL_TEXT_FORMAT);

//轉換目錄路徑

ftpClient.changeWorkingDirectory(路徑);

 

 

//檢索path目錄下的檔案

ftpClient.changeWorkingDirectory("/"+path+"");

FTPFile[] allFiles = ftpClient.listFiles();

//檢索到path目錄下的檔案數量

System.err.println("allFiles::"

+allFiles.length);

 

//建立本地資料夾

File outFilePath = new File(path);

if(!outFilePath.exists()){

//建立目錄

    outFilePath.mkdir();

}

 

//ftp到本地的檔案輸出流

 File outFile = new File(path);

FileOutputStream outStream = new FileOutputStream(outFile);

 

//ftp內部建立資料夾 1、轉換到建立該資料夾的上一級目錄,2、建立資料夾

ftpClient.changeWorkingDirectory(path);

ftpClient.makeDirectory(資料夾名);

 

//ftp內部移動檔案,rename為true的時候表示移動成功!

String i = path(帶檔名);

String i1 = path1(帶檔名);

boolean rename = ftpClient.rename(i, i1);

 

//刪除檔案,1、轉換到刪除檔案的上一級目錄,2、刪除檔案

ftpClient.changeWorkingDirectory(path);

ftpClient.deleteFile(檔名);

 

//刪除資料夾,1、轉換到刪除該資料夾的上一級目錄(注意:必須是空資料夾),2、刪除該資料夾

ftpClient.changeWorkingDirectory(path);

ftpClient.removeDirectory(資料夾名);

 

//File.separator

File outFilePath = new File(dstPath+File.separator+bwfilePath.getName());

 

//上傳

           System.out.println("開始上傳檔案");

           InputStream inputStream = null;

           inputStream = new FileInputStream(new File(fileURL));

           ftpClient.setFileType(ftpClient.BINARY_FILE_TYPE);

           ftpClient.makeDirectory(PATHURL);

           ftpClient.changeWorkingDirectory(PATHURL);

           ftpClient.storeFile(fileName+".txt", inputStream);

           inputStream.close();

//關閉ftp

ftpClient.logout();

ftpClient.disconnect();// 關閉FTP伺服器的連線 

ftp內部操作需要的jar包

commons-net-1.4.1.jar

jakarta-oro-2.0.8.jar