EdtFtp 源码

 

import  java.io.BufferedReader;
import  java.io.DataInputStream;
import  java.io.DataOutputStream;
import  java.io.File;
import  java.io.FileWriter;
import  java.io.IOException;
import  java.io.InputStreamReader;
import  java.io.PrintWriter;
import  java.io.RandomAccessFile;
import  java.util.ArrayList;
import  java.util.StringTokenizer;

import  sun.net.TelnetInputStream;
import  sun.net.TelnetOutputStream;
import  sun.net.ftp.FtpClient;
import  sun.net.ftp.FtpLoginException;

public   class  ftp   ... {

    FtpClient aftp;

    DataOutputStream outputs;

    TelnetInputStream ins;

    TelnetOutputStream outs;

    
int ch;

    
public String a;

    String hostname 
= "";

    
private String path = "/";

    
public static void main(String[] args) ...{
        String hostname 
= "133.133.133.34";
        
int port = 21;
        String uid 
= "olympic";
        String pwd 
= "olympic";
        String RWFileDir 
= "D:\temp\files";// 文件目录

        
// 连接ftp服务器
        ftp ft = new ftp();
        ft.connect(RWFileDir, hostname, port, uid, pwd);

        
// 下载文件
        if (ft.aftp != null...{
            
try ...{
                ft.getNameList(RWFileDir);
            }
 catch (IOException e) ...{
                System.out.println(
"下载文件出错:" + e);
            }

        }


        
// 断开服务器连接
        ft.stop(RWFileDir);

    }


    
public FtpClient connect(String RWFileDir, String hostname, int port,
            String uid, String pwd) 
...{
        
this.hostname = hostname;
        System.out.println(
"正在连接" + hostname + ",请等待.....");
        
try ...{
            aftp 
= new FtpClient(hostname, port);
            aftp.login(uid, pwd);
            aftp.binary();
            
// aftp.openPortDataConnection();
            a = "连接主机:" + hostname + "成功!";
            System.out.println(a);
        }
 catch (FtpLoginException e) ...{
            a 
= "登陆主机:" + hostname + "失败!请检查用户名或密码是否正确:" + e;
            System.out.println(a);
            
// return false;
        }
 catch (IOException e) ...{
            a 
= "连接主机:" + hostname + "失败!请检查端口是否正确:" + e;
            System.out.println(a);
            
// return false;
        }
 catch (SecurityException e) ...{
            a 
= "无权限与主机:" + hostname + "连接!请检查是否有访问权限:" + e;
            System.out.println(a);
            
// return false;
        }


        log(RWFileDir, a);
        
return aftp;
    }


    
public void stop(String RWFileDir) ...{
        String message 
= "";
        
try ...{
            
if (aftp != null...{
                aftp.closeServer();
                message 
= "与主机" + hostname + "连接已断开!";
                System.out.println(message);
                log(RWFileDir, message);
            }

        }
 catch (IOException e) ...{
            message 
= "与主机" + hostname + "断开连接失败!" + e;
            System.out.println(message);
            log(RWFileDir, message);
        }

    }


    
public boolean downloadFile(String RWFileDir, String filepathname) ...{
        
boolean result = true;
        String message 
= "";
        
if (aftp != null...{
            System.out.println(
"正在下载文件" + filepathname + ",请等待....");
            String badfile 
= filepathname.substring(filepathname.length() - 4,
                    filepathname.length());
            String badlog 
= filepathname.substring(filepathname.length() - 7,
                    filepathname.length());
            String baddir 
= "";
            
if ((badfile.compareTo(".bad"!= 0)
                    
&& (badlog.compareTo(".badlog"!= 0)) ...{
                baddir 
= "subunsubtosp\";
            }
 else ...{
                baddir 
= "bad\";
            }

            String strdir 
= "subunsubtosp\";
            
// System.out.println(RWFileDir + baddir + filepathname);
            try ...{
                
// FtpClient fc=new FtpClient("192.168.0.56",2121);
                
// fc.login("lee","lee");
                int ch;
                File fi 
= new File(RWFileDir + baddir + filepathname);
                
// aftp.cd(strdir);
                RandomAccessFile getFile = new RandomAccessFile(fi, "rw");
                getFile.seek(
0);
                TelnetInputStream fget 
= aftp.get(strdir + filepathname);
                DataInputStream puts 
= new DataInputStream(fget);
                
while ((ch = puts.read()) >= 0...{
                    getFile.write(ch);

                }

                
// s.delete();

                fget.close();
                getFile.close();
                
// fc.closeServer();

                message 
= "下载" + filepathname + "文件到" + bad
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值