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

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

    • 分享

      FTPClient 用法

       岑經(jīng)滄海難為水 2014-08-04

      某些數(shù)據(jù)交換,我們需要通過ftp來完成。

      sun.net.ftp.FtpClient 可以幫助我們進行一些簡單的ftp客戶端功能:下載、上傳文件。

      但如遇到創(chuàng)建目錄之類的就無能為力了,我們只好利用第三方源碼,比如 com.enterprisedt.net.ftp.FTPClient

      下面寫一些sun.net.ftp.FtpClient 的使用方法。

      1、引入包

      import java.io.DataInputStream;
      import java.io.FileOutputStream;
      import java.io.IOException;
      import java.io.FileInputStream;
      import java.util.ArrayList;
      import java.util.Date;
      import java.util.List;
      import sun.net.*;
      import sun.net.ftp.FtpClient;

      2、我們建一個叫做FtpUtil的class

         /**
           * connectServer
           * 連接ftp服務器
           * @throws java.io.IOException
           * @param path 文件夾,空代表根目錄
           * @param password 密碼
           * @param user    登陸用戶
           * @param server 服務器地址
           */

        public void connectServer(String server, String user, String password,  String path)
        throws IOException  
         {
           // server:FTP服務器的IP地址;user:登錄FTP服務器的用戶名
           // password:登錄FTP服務器的用戶名的口令;path:FTP服務器上的路徑
            ftpClient = new FtpClient();
            ftpClient.openServer(server);
            ftpClient.login(user, password);
           //path是ftp服務下主目錄的子目錄
           if (path.length() != 0)   ftpClient.cd(path);
           //用2進制上傳、下載
            ftpClient.binary();      
      }
        
      /**
           * upload
           * 上傳文件
           * @throws java.lang.Exception
           * @return -1 文件不存在
           *           -2 文件內(nèi)容為空  
           *           >0 成功上傳,返回文件的大小
           * @param newname 上傳后的新文件名
           * @param filename 上傳的文件
           */

      public long upload(String filename,String newname) throws Exception  
      {
           long result = 0;
            TelnetOutputStream os = null;
            FileInputStream is = null;
           try {          
                java.io.File file_in = new java.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 = new FileInputStream(file_in);
               byte[] bytes = new byte[1024];
               int c;
               while ((c = is.read(bytes)) != -1) {
                     os.write(bytes, 0, c);
                }
            } finally {
               if (is != null) {
                    is.close();
                }
               if (os != null) {
                   os.close();
                }
            }
          return result;
      }
      /**
           * upload
           * @throws java.lang.Exception
           * @return  
           * @param filename
           */

      public long upload(String filename)
      throws Exception  
      {
          String newname = "";
          if (filename.indexOf("/")>-1)
           {
              newname = filename.substring(filename.lastIndexOf("/")+1);
           }else
           {
              newname = filename;
           }
          return upload(filename,newname);
      }
        
      /**
           *   download
           *   從ftp下載文件到本地
           * @throws java.lang.Exception
           * @return  
           * @param newfilename 本地生成的文件名
           * @param filename 服務器上的文件名
           */

      public long download(String filename,String newfilename)  
      throws Exception
      {   
          long result = 0;
           TelnetInputStream is = null;
           FileOutputStream os = null;
          try  
           {
              is = ftpClient.get(filename);        
              java.io.File outfile = new java.io.File(newfilename);
              os = new FileOutputStream(outfile);
             byte[] bytes = new byte[1024];
             int c;
             while ((c = is.read(bytes)) != -1) {
                  os.write(bytes, 0, c);
                  result = result + c;
              }
           } catch (IOException e)  
           {
              e.printStackTrace();
           }
          finally {
               if (is != null) {
                    is.close();
                }
               if (os != null) {
                   os.close();
                }
            }
           return result;
      }
      /**
         * 取得某個目錄下的所有文件列表
         *
         */

      public List getFileList(String path)
      {
           List list = new ArrayList();
          try  
           {
              DataInputStream dis = new   DataInputStream(ftpClient.nameList(path));
             String filename = "";
             while((filename=dis.readLine())!=null)   
              {   
                list.add(filename);         
              }   
          
           } catch (Exception e)  
           {
              e.printStackTrace();
           }
          return list;
      }
        
      /**
           * closeServer
           * 斷開與ftp服務器的鏈接
           * @throws java.io.IOException
           */

      public void closeServer()
      throws IOException  
      {    
         try  
          {
            if (ftpClient != null)  
             {
               ftpClient.closeServer();      
             }
          } catch (IOException e) {
             e.printStackTrace();
          }
      }
         
        public static void main(String [] args) throws Exception  
         {
           FtpUtil ftp = new FtpUtil();
          try {
               //連接ftp服務器
                ftp.connectServer("10.163.7.15", "cxl", "1", "info2");
               /**   上傳文件到 info2 文件夾下 */
                System.out.println("filesize:"+ftp.upload("f:/download/Install.exe")+"字節(jié)");
               /** 取得info2文件夾下的所有文件列表,并下載到 E盤下 */
                List list = ftp.getFileList(".");
               for (int i=0;i<list.size();i++)
                {
                  String filename = (String)list.get(i);
                   System.out.println(filename);
                   ftp.download(filename,"E:/"+filename);
                }
           } catch (Exception e) {
             ///
           }finally
           {
              ftp.closeServer();
           }
         }   
      }

      以上就是 使用 sun.net.ftp.FtpClient 操作ftp客戶端的使用方法。


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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多