<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 24,  comments - 25,  trackbacks - 0
    可以實(shí)現(xiàn)FTP的鏈接,獲取文件列表,上傳文件,下載文件,刪除文件,新建文件夾。

    FtpServer.java 內(nèi)存如下:
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.SocketException;
    import java.sql.Connection;
    import java.util.ArrayList;
    import java.util.List;

    import org.apache.commons.net.ftp.FTP;
    import org.apache.commons.net.ftp.FTPClient;
    import org.apache.commons.net.ftp.FTPFile;
    import org.apache.commons.net.ftp.FTPReply;


    public class FtpServer
    {
        
    private static String ip        = "";  // IP地址

        
    private static int    port      = ""// 端口

        
    private static String username  = ""// 用戶名

        
    private static String password  = ""// 密碼

        
    private FTPClient     ftpClient = new FTPClient();  // FTP客戶端

        
    private String        _path     = null;//FTP文件路徑

        
    public FtpServer() {
        

        }


        
    public void setPath(String path)
        
    {
            _path 
    = path;
        }

        
        
    /**
         * FTP 連接
         * 
    @param path 路徑
         * 
    @return
         
    */

        
    public boolean connectServer(String type, String path)
        
    {
            setPath(path);
            
    try
            
    {
                ftpClient.connect(ip, port);
                
    //ftpClient.setControlEncoding("UTF-8");
                if (FTPReply.isPositiveCompletion(ftpClient.getReplyCode()))
                
    {
                    
    if (ftpClient.login(username, password))
                    
    {
                        
    if (!StringUtil.isBlank(path))
                        
    {
                            createPath(path);
                        }

                        
    return true;
                    }

                }

                closeConnect();
            }

            
    catch (SocketException e)
            
    {
                 
    return false;
            }

            
    catch (IOException e)
            
    {
             
    try {
                
    return false;
            }

            
    return false;
        }


        
    /**
         * FTP 關(guān)閉連接
         * 
    @return
         
    */

        
    public void closeConnect()
        
    {
            
    try
            
    {
                
    if (ftpClient.isConnected())
                
    {
                    ftpClient.disconnect();
                }

            }

            
    catch (IOException e)
            
    {
             
    try {
                    e.printStackTrace();
              }
     catch (Exception e1) {
              }

            }

        }


        
    /**
         * 獲取文件列表
         * 
    @return
         
    */

        
    public List<String> getFileNameList()
        
    {
            List
    <String> list = new ArrayList<String>();
            
    try
            
    {
                
    //設(shè)置被動(dòng)模式
                ftpClient.enterLocalPassiveMode();
                String[] strs 
    = ftpClient.listNames();
                
    if (!StringUtil.isBlank(strs))
                
    {
                    
    for (int i = 0; i < strs.length; i++)
                    
    {
                        list.add(strs[i]);
                    }

                    
    return list;
                }

            }

            
    catch (IOException e)
            
    {
             
    try {
                
    return null;
            }

            
    return null;
        }


        
    /**
         * 上傳文件
         * 
    @param localFile 上傳文件絕對(duì)路徑(如:C://tmp//test.txt)
         * 
    @param remoteFile 上傳后在服務(wù)器上的文件名(如:test.txt)
         * 
    @return
         
    */

        
    public boolean upload(String localFile, String remoteFile)
        
    {
            closeConnect();
            connectServer(
    null, _path);
            
    boolean flag = true;
            
    try
            
    {
                
    // 設(shè)置以二進(jìn)制方式傳輸
                ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
                
    // 設(shè)置被動(dòng)模式
                ftpClient.enterLocalPassiveMode();
                
    // 文件流傳輸模式
                ftpClient.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);
                
                InputStream fis 
    = new FileInputStream(localFile);
                flag 
    = ftpClient.storeFile(remoteFile, fis);
                fis.close();
            }

            
    catch (IOException e)
            
    {
                
    return false;
            }

            
    return flag;
        }


        
    /**
         * 下載文件
         * 
    @param remoteFile 下載在服務(wù)器上的文件名
         * 
    @param localFile 保存到本地文件絕對(duì)路徑
         * 
    @return
         
    */

        
    public boolean download(String remoteFile, String localFile)
        
    {
            closeConnect();
            connectServer(
    null, _path);
            
    boolean flag = true;
            
    try
            
    {
                ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
                ftpClient.enterLocalPassiveMode();
                ftpClient.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);
                
    //檢查遠(yuǎn)程文件是否存在
                FTPFile[] files = ftpClient.listFiles(remoteFile);
                
    if (files.length != 1)
                
    {
                    
    return false;
                }


                OutputStream fos 
    = new FileOutputStream(localFile);
                flag 
    = ftpClient.retrieveFile(remoteFile, fos);
                fos.close();
            }

            
    catch (IOException e)
            
    {
                
    return false;
            }

            
    return flag;
        }


        
    /**
         * 刪除文件
         * 
    @param remoteFile 刪除在服務(wù)器上的文件名
         * 
    @return
         
    */

        
    public boolean delete(String remoteFile)
        
    {
            closeConnect();
            connectServer(
    null, _path);
            
    boolean flag = false;
            
    try
            
    {
                ftpClient.enterLocalPassiveMode();
                
    //檢查遠(yuǎn)程文件是否存在
                for (int i = 0; i < remoteFile.length; i++)
                
    {
                    FTPFile[] file 
    = ftpClient.listFiles(remoteFile[i]);
                    
    if (file.length != 1)
                    
    {
                        
    return flag;
                    }

                    flag 
    = ftpClient.deleteFile(remoteFile[i]);
                }

            }

            
    catch (IOException e)
            
    {
                
    return false;
            }

            
    return flag;
        }


        
    /**
         * 創(chuàng)建目錄
         * 
         * 
    @param remote
         * 
    @return
         * 
    @throws IOException
         
    */

        
    private boolean createPath(String remote) throws IOException
        
    {
            String[] rms 
    = remote.split("/");
            
    for (int i = 0; i < rms.length; i++)
            
    {
                
    if (!ftpClient.changeWorkingDirectory(rms[i]))
                
    {
                    
    if (ftpClient.makeDirectory(rms[i]))
                    
    {
                        ftpClient.changeWorkingDirectory(rms[i]);
                    }

                }

            }

            
    return true;
        }


    }



    posted on 2011-04-19 10:48 Jarry 閱讀(1859) 評(píng)論(0)  編輯  收藏 所屬分類: Java

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 日韩免费福利视频| 毛片免费在线观看| 扒开双腿猛进入爽爽免费视频| 久久久久亚洲AV无码专区体验| 和老外3p爽粗大免费视频| 免费国产a国产片高清| 亚洲av无码专区首页| 性盈盈影院免费视频观看在线一区| 亚洲成电影在线观看青青| 日本免费大黄在线观看| 久久精品国产亚洲AV无码偷窥| 免费国产成人午夜在线观看| 亚洲春色在线视频| 无码AV片在线观看免费| 亚洲成av人影院| 18未年禁止免费观看| 亚洲人成综合在线播放| 午夜性色一区二区三区免费不卡视频 | 日本一道本高清免费| 亚洲国产成人AV在线播放| 国产成人aaa在线视频免费观看 | 91短视频在线免费观看| 亚洲美女自拍视频| 欧美a级成人网站免费| 亚洲狠狠婷婷综合久久蜜芽| 国产成人啪精品视频免费网| 一级毛片a免费播放王色电影| 亚洲人成无码www久久久| 中文字幕无线码免费人妻| 国产亚洲一区区二区在线| 性生大片视频免费观看一级 | ww在线观视频免费观看| 蜜芽亚洲av无码精品色午夜| 99热这里只有精品6免费| 久久精品国产亚洲夜色AV网站| 成人一区二区免费视频| 亚洲乱亚洲乱妇无码麻豆| 好紧我太爽了视频免费国产| 亚洲国产精品久久久天堂| 蜜桃成人无码区免费视频网站 | 久久精品国产亚洲|