最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)ftp上傳下載、刪除文件及在ftp服務(wù)器上傳文件夾的方法

 更新時間:2015年11月12日 13:55:27   投稿:mrr  
這篇文章主要介紹了Java實現(xiàn)ftp上傳下載、刪除文件及在ftp服務(wù)器上傳文件夾的方法,需要的朋友可以參考下

一個JAVA 實現(xiàn)FTP功能的代碼,包括了服務(wù)器的設(shè)置模塊,并包括有上傳文件至FTP的通用方法、下載文件的通用方法以及刪除文件、在ftp服務(wù)器上傳文件夾、檢測文件夾是否存在等,里面的有些代碼對編寫JAVA文件上傳或許有參考價值,Java FTP主文件代碼:

package ftpDemo;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;
public class ftpUtil {
// 上傳文件至FTP通用方法
public static void upLoadFileFtp(KmConfig kmConfig,InputStream is, String fileName){
  try {
    String ftpHost = kmConfig.getFtpHost();
    int port = kmConfig.getFtpPort();
    String userName = kmConfig.getFtpUser();
    String passWord = kmConfig.getFtpPassword();
    String path = kmConfig.getFtpPath();
    FtpClient ftpClient = new FtpClient(ftpHost, port);// ftpHost為FTP服務(wù)器的IP地址,port為FTP服務(wù)器的登陸端口,ftpHost為String型,port為int型。
    ftpClient.login(userName, passWord);// userName、passWord分別為FTP服務(wù)器的登陸用戶名和密碼
    ftpClient.binary();
    ftpClient.cd(path);// path為FTP服務(wù)器上保存上傳文件的路徑。
    TelnetOutputStream telnetOut = ftpClient.put(fileName);// fileName為上傳的文件名
    DataOutputStream dataOut = new DataOutputStream(telnetOut);
    byte buffer[] = new byte[ * ];
    int count = ;
    while ((count = is.read(buffer)) != -) {
      dataOut.write(buffer, , count);
    }
    telnetOut.close();
    dataOut.close();
    ftpClient.closeServer();
  } catch (Exception e) {
    System.out.println("上傳文件失?。≌垯z查系統(tǒng)FTP設(shè)置,并確認(rèn)FTP服務(wù)啟動");
  }
}
// 刪除文件至FTP通用方法
public static void deleteFileFtp(KmConfig kmConfig,String fileName){
  try {
    String ftpHost = kmConfig.getFtpHost();
    int port = kmConfig.getFtpPort();
    String userName = kmConfig.getFtpUser();
    String passWord = kmConfig.getFtpPassword();
    String path = kmConfig.getFtpPath();
    FtpClient ftpClient = new FtpClient(ftpHost, port);// ftpHost為FTP服務(wù)器的IP地址,port為FTP服務(wù)器的登陸端口,ftpHost為String型,port為int型。
    ftpClient.login(userName, passWord);// userName、passWord分別為FTP服務(wù)器的登陸用戶名和密碼
    ftpClient.binary();
    ftpClient.cd(path);// path為FTP服務(wù)器上保存上傳文件的路徑。
    try {
      ftpClient.sendServer("dele " + fileName + "\r\n");
    } catch (Exception e) {
      System.out.println("刪除文件失?。≌垯z查系統(tǒng)FTP設(shè)置,并確認(rèn)FTP服務(wù)啟動");
    }
    ftpClient.closeServer();
  } catch (Exception e) {
    System.out.println("刪除文件失??!");
  }
}
// 下載ftp文件
public static void downloadFileFtp(KmConfig kmConfig,String fileName, String clientFileName, OutputStream outputStream){
  try {
    String ftpHost = kmConfig.getFtpHost();
    int port = kmConfig.getFtpPort();
    String userName = kmConfig.getFtpUser();
    String passWord = kmConfig.getFtpPassword();
    String path = kmConfig.getFtpPath();
    FtpClient ftpClient = new FtpClient(ftpHost, port);// ftpHost為FTP服務(wù)器的IP地址,port為FTP服務(wù)器的登陸端口,ftpHost為String型,port為int型。
    ftpClient.login(userName, passWord);// userName、passWord分別為FTP服務(wù)器的登陸用戶名和密碼
    ftpClient.binary();
    ftpClient.cd(path);// path為FTP服務(wù)器上保存上傳文件的路徑。
    try {
      TelnetInputStream in = ftpClient.get(fileName);
      byte[] bytes = new byte[];
      int cnt=;
      while ((cnt=in.read(bytes,,bytes.length)) != -) {
        outputStream.write(bytes, , cnt);
      }
      outputStream.close();
      in.close();
    } catch (Exception e) {
      ftpClient.closeServer();
      e.printStackTrace();
    }
    ftpClient.closeServer();
  } catch (Exception e) {
    System.out.println("下載文件失敗!請檢查系統(tǒng)FTP設(shè)置,并確認(rèn)FTP服務(wù)啟動");
  }
}
//在ftp服務(wù)器上傳件文件夾
  public boolean createDir(String path,FtpClient ftpClient) throws Exception{
      //進(jìn)入到home文件夾下
      ftpClient.cd("/home");
      //創(chuàng)建遠(yuǎn)程文件夾
      //遠(yuǎn)程命令包括
      //USER  PORT  RETR  ALLO  DELE  SITE  XMKD  CDUP  FEAT<br>
//     PASS  PASV  STOR  REST  CWD   STAT  RMD   XCUP  OPTS<br>
//     ACCT  TYPE  APPE  RNFR  XCWD  HELP  XRMD  STOU  AUTH<br>
//     REIN  STRU  SMNT  RNTO  LIST  NOOP  PWD   SIZE  PBSZ<br>
//     QUIT  MODE  SYST  ABOR  NLST  MKD   XPWD  MDTM  PROT<br>
//        在服務(wù)器上執(zhí)行命令,如果用sendServer來執(zhí)行遠(yuǎn)程命令(不能執(zhí)行本地FTP命令)的話,所有FTP命令都要加上/r/n<br>
//          ftpclient.sendServer("XMKD /test/bb/r/n"); //執(zhí)行服務(wù)器上的FTP命令<br>
//          ftpclient.readServerResponse一定要在sendServer后調(diào)用<br>
//          nameList("/test")獲取指目錄下的文件列表<br>
//          XMKD建立目錄,當(dāng)目錄存在的情況下再次創(chuàng)建目錄時報錯<br>
//          XRMD刪除目錄<br>
//          DELE刪除文件<br>
    //通過遠(yuǎn)程命令 穿件一個files文件夾
    ftpClient.sendServer("MKD "+ path + "\r\n");
    //這個方法必須在 這兩個方法中間調(diào)用 否則 命令不管用
    ftpClient.binary();
    ftpClient.readServerResponse();
    return false;
  }
/**
 * 檢查文件夾是否存在
 * @param dir
 * @param ftpClient
 * @return
 */
  public boolean isDirExist(String dir, FtpClient ftpClient) {
     try {
      ftpClient.cd(dir);
    } catch (Exception e) {
      return false;
    }
    return true;
  }
}

KmConfig.java代碼如下:定義FTP服務(wù)器參數(shù),包括登錄的用戶名密碼之類的。

package ftpDemo;
public class KmConfig {
  //主機(jī)ip
  private String FtpHost = "";
  //端口號
  private int FtpPort;
  //ftp用戶名
  private String FtpUser = "";
  //ftp密碼
  private String FtpPassword = "";
  //ftp中的目錄
  private String FtpPath = "";
  public String getFtpHost() {
    return FtpHost;
  }
  public void setFtpHost(String ftpHost) {
    FtpHost = ftpHost;
  }
  public int getFtpPort() {
    return FtpPort;
  }
  public void setFtpPort(int ftpPort) {
    FtpPort = ftpPort;
  }
  public String getFtpUser() {
    return FtpUser;
  }
  public void setFtpUser(String ftpUser) {
    FtpUser = ftpUser;
  }
  public String getFtpPassword() {
    return FtpPassword;
  }
  public void setFtpPassword(String ftpPassword) {
    FtpPassword = ftpPassword;
  }
  public String getFtpPath() {
    return FtpPath;
  }
  public void setFtpPath(String ftpPath) {
    FtpPath = ftpPath;
  }
}

下面是測試代碼:

package ftpDemo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
public class Test {
  public static void main(String[] args) {
    //設(shè)置ftp
    KmConfig km = new KmConfig();
    km.setFtpHost("...");
    km.setFtpPort();
    km.setFtpUser("test");
    km.setFtpPassword("");
    km.setFtpPath("KM");
    //上傳到ftp
    ftpUtil util=new ftpUtil();
    File file = new File("F:/文章.jpg");
    InputStream in;
    try {
      in = new FileInputStream(file);
      util.upLoadFileFtp(km, in, "更改后的名字.jpg");
    } catch (FileNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
}

以上代碼是小編給大家介紹關(guān)于Java實現(xiàn)ftp上傳下載、刪除文件及在ftp服務(wù)器上傳文件夾的方法,希望大家喜歡。

相關(guān)文章

  • 如何基于spring security實現(xiàn)在線用戶統(tǒng)計

    如何基于spring security實現(xiàn)在線用戶統(tǒng)計

    這篇文章主要介紹了如何基于spring security實現(xiàn)在線用戶統(tǒng)計,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • SpringBoot通過ip獲取歸屬地的幾種方式分享

    SpringBoot通過ip獲取歸屬地的幾種方式分享

    在日常我們逛網(wǎng)站的時候會發(fā)現(xiàn)我們登錄后會出現(xiàn)歸屬地信息,例如:我在廣州登錄會顯示廣東廣州,有些更加精確的會顯示到區(qū)縣,那么我們來看看有哪些方式來獲取歸屬地信息,今天我們來聊一聊
    2023-09-09
  • logback如何自定義日志存儲

    logback如何自定義日志存儲

    這篇文章主要介紹了logback如何自定義日志存儲的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java使用FFmpeg提取音頻的詳細(xì)指南

    Java使用FFmpeg提取音頻的詳細(xì)指南

    FFmpeg 是一個開源的多媒體處理工具,支持視頻、音頻的編碼、解碼、轉(zhuǎn)換等多種功能,本文將詳細(xì)講解如何使用 FFmpeg 提取音頻,包括常見的音頻格式提取、音頻質(zhì)量調(diào)整、高級處理操作等,內(nèi)容淺顯易懂,適合初學(xué)者快速掌握,需要的朋友可以參考下
    2024-11-11
  • 關(guān)于maven使用過程中無法導(dǎo)入依賴的一些總結(jié)

    關(guān)于maven使用過程中無法導(dǎo)入依賴的一些總結(jié)

    這篇文章主要介紹了關(guān)于maven使用過程中無法導(dǎo)入依賴的一些總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Spring?Boot?調(diào)用外部接口的幾種方式

    Spring?Boot?調(diào)用外部接口的幾種方式

    在微服務(wù)架構(gòu)中,服務(wù)間的調(diào)用是不可或缺的環(huán)節(jié),本文主要介紹了Spring?Boot調(diào)用外部接口的幾種方式,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • JAVA中反射機(jī)制和模塊化的深入講解

    JAVA中反射機(jī)制和模塊化的深入講解

    很多剛學(xué)Java反射的同學(xué)可能對反射技術(shù)一頭霧水,為什么要學(xué)習(xí)反射,學(xué)習(xí)反射有什么作用,下面這篇文章主要給大家介紹了關(guān)于JAVA中反射機(jī)制和模塊化的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Springboot 整合 Java DL4J 實現(xiàn)醫(yī)學(xué)影像診斷功能介紹

    Springboot 整合 Java DL4J 實現(xiàn)醫(yī)學(xué)影像診斷功能介紹

    本文介紹如何利用SpringBoot整合Java Deeplearning4j實現(xiàn)醫(yī)學(xué)影像診斷功能,重點介紹了卷積神經(jīng)網(wǎng)絡(luò)在處理醫(yī)學(xué)影像中的應(yīng)用,以及如何進(jìn)行數(shù)據(jù)預(yù)處理、模型構(gòu)建、訓(xùn)練與預(yù)測,提供了詳細(xì)的代碼實現(xiàn)和單元測試方法,目的是輔助醫(yī)生更準(zhǔn)確快速地進(jìn)行疾病診斷
    2024-10-10
  • java實現(xiàn)水仙花數(shù)的計算

    java實現(xiàn)水仙花數(shù)的計算

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)水仙花數(shù)的計算,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • JAVA微信掃碼支付模式二線上支付功能實現(xiàn)以及回調(diào)

    JAVA微信掃碼支付模式二線上支付功能實現(xiàn)以及回調(diào)

    本篇文章主要介紹了JAVA微信掃碼支付模式二線上支付功能實現(xiàn)以及回調(diào),這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。
    2016-11-11

最新評論

孝感市| 马公市| 广元市| 苏尼特右旗| 文化| 板桥市| 温宿县| 定兴县| 贵阳市| 蓬莱市| 观塘区| 通许县| 东辽县| 枝江市| 神木县| 海伦市| 长白| 图们市| 江口县| 安多县| 临安市| 资源县| 林周县| 三门县| 商河县| 渑池县| 龙海市| 井冈山市| 江安县| 仪陇县| 泾阳县| 古丈县| 青州市| 兴安盟| 连南| 翁牛特旗| 安陆市| 沂水县| 巩义市| 张北县| 鹤壁市|