乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      JAVA中使用FTPClient實現(xiàn)文件上傳下載

       CevenCheng 2018-07-25

      在JAVA程序中,經常需要和FTP打交道,比如向FTP服務器上傳文件、下載文件,本文簡單介紹如何利用jakarta commons中的FTPClient(在commons-net包中)實現(xiàn)上傳下載文件。

      一、上傳文件

      原理就不介紹了,大家直接看代碼吧

      [Java]view plaincopyprint?

      /**

      * Description: 向FTP服務器上傳文件

      * @Version1.0 Jul 27, 2008 4:31:09 PM by 崔紅保(cuihongbao@d-heaven.com)創(chuàng)建

      * @param url FTP服務器hostname

      * @param port FTP服務器端口

      * @param username FTP登錄賬號

      * @param password FTP登錄密碼

      * @param path FTP服務器保存目錄

      * @param filename 上傳到FTP服務器上的文件名

      * @param input 輸入流

      * @return 成功返回true,否則返回false

      */

      publicstaticbooleanuploadFile(String url,intport,String username, String password, String path, String filename, InputStream input) {

      booleansuccess =false;

      FTPClient ftp =newFTPClient();

      try{

      intreply;

      ftp.connect(url, port);//連接FTP服務器

      //如果采用默認端口,可以使用ftp.connect(url)的方式直接連接FTP服務器

      ftp.login(username, password);//登錄

      reply = ftp.getReplyCode();

      if(!FTPReply.isPositiveCompletion(reply)) {

      ftp.disconnect();

      returnsuccess;

      }

      ftp.changeWorkingDirectory(path);

      ftp.storeFile(filename, input);

      input.close();

      ftp.logout();

      success =true;

      }catch(IOException e) {

      e.printStackTrace();

      }finally{

      if(ftp.isConnected()) {

      try{

      ftp.disconnect();

      }catch(IOException ioe) {

      }

      }

      }

      returnsuccess;

      }

      /**

      * Description: 向FTP服務器上傳文件

      * @Version1.0 Jul 27, 2008 4:31:09 PM by 崔紅保(cuihongbao@d-heaven.com)創(chuàng)建

      * @param url FTP服務器hostname

      * @param port FTP服務器端口

      * @param username FTP登錄賬號

      * @param password FTP登錄密碼

      * @param path FTP服務器保存目錄

      * @param filename 上傳到FTP服務器上的文件名

      * @param input 輸入流

      * @return 成功返回true,否則返回false

      */

      public static boolean uploadFile(String url,int port,String username, String password, String path, String filename, InputStream input) {

      boolean success = false;

      FTPClient ftp = new FTPClient();

      try {

      int reply;

      ftp.connect(url, port);//連接FTP服務器

      //如果采用默認端口,可以使用ftp.connect(url)的方式直接連接FTP服務器

      ftp.login(username, password);//登錄

      reply = ftp.getReplyCode();

      if (!FTPReply.isPositiveCompletion(reply)) {

      ftp.disconnect();

      return success;

      }

      ftp.changeWorkingDirectory(path);

      ftp.storeFile(filename, input);

      input.close();

      ftp.logout();

      success = true;

      } catch (IOException e) {

      e.printStackTrace();

      } finally {

      if (ftp.isConnected()) {

      try {

      ftp.disconnect();

      } catch (IOException ioe) {

      }

      }

      }

      return success;

      }

      下面我們寫兩個小例子:

      1.將本地文件上傳到FTP服務器上,代碼如下:

      [Java]view plaincopyprint?

      @Test

      publicvoidtestUpLoadFromDisk(){

      try{

      FileInputStream in=newFileInputStream(newFile("D:/test.txt"));

      booleanflag = uploadFile("127.0.0.1",21,"test","test","D:/ftp","test.txt", in);

      System.out.println(flag);

      }catch(FileNotFoundException e) {

      e.printStackTrace();

      }

      }

      @Test

      public void testUpLoadFromDisk(){

      try {

      FileInputStream in=new FileInputStream(new File("D:/test.txt"));

      boolean flag = uploadFile("127.0.0.1", 21, "test", "test", "D:/ftp", "test.txt", in);

      System.out.println(flag);

      } catch (FileNotFoundException e) {

      e.printStackTrace();

      }

      }

      2.在FTP服務器上生成一個文件,并將一個字符串寫入到該文件中

      [Java]view plaincopyprint?

      @Test

      publicvoidtestUpLoadFromString(){

      try{

      InputStream input =newByteArrayInputStream("test ftp".getBytes("utf-8"));

      booleanflag = uploadFile("127.0.0.1",21,"test","test","D:/ftp","test.txt", input);

      System.out.println(flag);

      }catch(UnsupportedEncodingException e) {

      e.printStackTrace();

      }

      }

      @Test

      public void testUpLoadFromString(){

      try {

      InputStream input = new ByteArrayInputStream("test ftp".getBytes("utf-8"));

      boolean flag = uploadFile("127.0.0.1", 21, "test", "test", "D:/ftp", "test.txt", input);

      System.out.println(flag);

      } catch (UnsupportedEncodingException e) {

      e.printStackTrace();

      }

      }

      二、下載文件

      從FTP服務器下載文件的代碼也很簡單,參考如下:

      [Java]view plaincopyprint?

      /**

      * Description: 從FTP服務器下載文件

      * @Version1.0 Jul 27, 2008 5:32:36 PM by 崔紅保(cuihongbao@d-heaven.com)創(chuàng)建

      * @param url FTP服務器hostname

      * @param port FTP服務器端口

      * @param username FTP登錄賬號

      * @param password FTP登錄密碼

      * @param remotePath FTP服務器上的相對路徑

      * @param fileName 要下載的文件名

      * @param localPath 下載后保存到本地的路徑

      * @return

      */

      publicstaticbooleandownFile(String url,intport,String username, String password, String remotePath,String fileName,String localPath) {

      booleansuccess =false;

      FTPClient ftp =newFTPClient();

      try{

      intreply;

      ftp.connect(url, port);

      //如果采用默認端口,可以使用ftp.connect(url)的方式直接連接FTP服務器

      ftp.login(username, password);//登錄

      reply = ftp.getReplyCode();

      if(!FTPReply.isPositiveCompletion(reply)) {

      ftp.disconnect();

      returnsuccess;

      }

      ftp.changeWorkingDirectory(remotePath);//轉移到FTP服務器目錄

      FTPFile[] fs = ftp.listFiles();

      for(FTPFile ff:fs){

      if(ff.getName().equals(fileName)){

      File localFile =newFile(localPath+"/"+ff.getName());

      OutputStream is =newFileOutputStream(localFile);

      ftp.retrieveFile(ff.getName(), is);

      is.close();

      }

      }

      ftp.logout();

      success =true;

      }catch(IOException e) {

      e.printStackTrace();

      }finally{

      if(ftp.isConnected()) {

      try{

      ftp.disconnect();

      }catch(IOException ioe) {

      }

      }

      }

      returnsuccess;

      }

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多