java如何测试连接ftp是否通,第1张

java测试连接ftp是否连通可以使用判断是否有异常来决定,实例如下:

      connectServer 

      连接ftp服务器 

      @throws javaioIOException 

      @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(); 

      ftpClientopenServer(server); 

      ftpClientlogin(user, password); 

     //path是ftp服务下主目录的子目录 

     if (pathlength() != 0)   ftpClientcd(path); 

     //用2进制上传、下载 

      ftpClientbinary();      

      upload 

      上传文件 

      @throws javalangException 

      @return -1 文件不存在 

                -2 文件内容为空 

                >0 成功上传,返回文件的大小 

      @param newname 上传后的新文件名 

      @param filename 上传的文件 

     / 

public long upload(String filename,String newname) throws Exception 

     long result = 0; 

      TelnetOutputStream os = null; 

      FileInputStream is = null; 

     try {          

          javaioFile file_in = new javaioFile(filename); 

         if (!file_inexists()) return -1; 

         if (file_inlength()==0) return -2; 

          os = ftpClientput(newname); 

          result = file_inlength(); 

          is = new FileInputStream(file_in); 

         byte[] bytes = new byte[1024]; 

         int c; 

         while ((c = isread(bytes)) != -1) { 

               oswrite(bytes, 0, c); 

          } 

      } finally { 

         if (is != null) { 

              isclose(); 

          } 

         if (os != null) { 

             osclose(); 

          } 

      } 

    return result; 

      upload 

      @throws javalangException 

      @return 

      @param filename 

     / 

public long upload(String filename) 

throws Exception 

    String newname = ""; 

    if (filenameindexOf("/")>-1) 

     { 

        newname = filenamesubstring(filenamelastIndexOf("/")+1); 

     }else 

     { 

        newname = filename; 

     } 

    return upload(filename,newname); 

        download 

        从ftp下载文件到本地 

      @throws javalangException 

      @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 = ftpClientget(filename);        

        javaioFile outfile = new javaioFile(newfilename); 

        os = new FileOutputStream(outfile); 

       byte[] bytes = new byte[1024]; 

       int c; 

       while ((c = isread(bytes)) != -1) { 

            oswrite(bytes, 0, c); 

            result = result + c; 

        } 

     } catch (IOException e) 

     { 

        eprintStackTrace(); 

     } 

    finally { 

         if (is != null) { 

              isclose(); 

          } 

         if (os != null) { 

             osclose(); 

          } 

      } 

     return result; 

    取得某个目录下的所有文件列表 

    

   / 

public List getFileList(String path) 

     List list = new ArrayList(); 

    try 

     { 

        DataInputStream dis = new   DataInputStream(ftpClientnameList(path)); 

       String filename = ""; 

       while((filename=disreadLine())!=null)   

        {   

          listadd(filename);         

        }   

    

     } catch (Exception e) 

     { 

        eprintStackTrace(); 

     } 

    return list; 

      closeServer 

      断开与ftp服务器的链接 

      @throws javaioIOException 

     / 

public void closeServer() 

throws IOException 

{    

   try 

    { 

      if (ftpClient != null) 

       { 

         ftpClientcloseServer();      

       } 

    } catch (IOException e) { 

       eprintStackTrace(); 

    } 

   

  public static void main(String [] args) throws Exception 

   { 

     FtpUtil ftp = new FtpUtil(); 

    try { 

         //连接ftp服务器 

          ftpconnectServer("10163715", "cxl", "1", "info2"); 

         /   上传文件到 info2 文件夹下 / 

          Systemoutprintln("filesize:"+ftpupload("f:/download/Installexe")+"字节"); 

         / 取得info2文件夹下的所有文件列表,并下载到 E盘下 / 

          List list = ftpgetFileList(""); 

         for (int i=0;i<listsize();i++) 

          { 

            String filename = (String)listget(i); 

             Systemoutprintln(filename); 

             ftpdownload(filename,"E:/"+filename); 

          } 

     } catch (Exception e) { 

       /// 

     }finally 

     { 

        ftpcloseServer(); 

     } 

   }   

}

TYPSoft FTPServer 轻松搭建FTP服务器

如果要架设FTP服务器你会如何选择?也许你会说,那肯定要选Serv-U、WarftpD、ProFTP或Wu-FTP了。这些选择确实很不错,都是一些功能强大的FTP服务器。不过这些并不适合初学者,它们的架设需要具备一定的相关知识,对于一般人来说是不太容易设置的。那么有没有简单一点的方法呢?答案是肯定的,下面我就给大家介绍一种超级简单的FTP服务器,希望能够给广大的初学者们提供帮助。

服务器的设置

建立FTP服务器首先需要下载TYPSoft FTPServer(以下简称TYP),适用于 Windows 9X/2000/XP操作系统。下载之后解压到任何一个文件夹,不用安装直接双击程序就可以开始投入工作了。当然,还需进行一些简单的设置。

1设置端口

如果TYP默认设置的端口21被占用,表现状态如图1所示,列表中会显示“Port already in useChoose another one”,结果是服务器无法启动,此时我们要手工重新设置TYP的端口,方法是选中图1所示窗口中的“Setup FTP”标签,然后在“FTP Port”后面的框中输入新端口号,再单击下面的“Save”按钮即可。

图1

2使用匿名登录

选择主窗口中的“User Setup”标签,然后选择匿名账户“Anonymous”,在右侧窗口中将“HomeDirectory”(主目录)设为我们欲共享的目录,在下面的 “Directory Access”区中设置共享目录中子目录的用户访问权限(下载、上传、更改、删除等),上述选项设置好后按“Save”按钮保存即可(如图2所示)。

图2

3使用其他用户登录

如果想用新建的用户登录,我们可以将匿名用户禁用。在图2所示的窗口中,选择“Anonymous”,然后单击按钮组中的“Option”按钮,在右边的面板中选择“Disable User Account”选项禁用匿名账户,然后再单击“New”按钮,添加一个新用户,再按照设置匿名账户的方法设置此新建账户的访问目录和相关权限,再单击 “Save”按钮即可。

完成这些设置后我们就可以启动FTP服务器了,单击菜单“Server→Start”即可启动服务器。

提示:TYP默认有一个匿名用户,此用户共享的是系统中的D盘,如果不想使用匿名登录,可以将此账户删除掉,如果想使用匿名登录,可以将默认的共享目录更改为其他目录。

客户端的访问

服务器架设好了,就可以让别人访问我们的系统了,访问时可以在浏览器中访问,也可以通过FTP命令来访问,下面我们简要地解释一下如何使用这两种方式访问FTP服务器。

1使用浏览器访问

当使用浏览器访问FTP服务器,我们可以直接在浏览器的地址栏中输入FTP服务器的计算机IP地址。有两类IP地址,一类是局域网内部的IP地址,一类是Internet的IP地址。输入的格式如下:ftp://,然后按回车即可。

如果FTP服务器设置了密码,按回车后会自动弹出一个窗口,按照提示,在指定的地方输入正确的用户名和密码即可登录到FTP服务指定的目录中去了。根据服务器中设置的权限,可以分别进行下载、上传、修改文件、删除等操作。

2使用FTP命令访问

通过FTP命令访问服务器必须了解一些常用的命令使用方法,下面列出几个常用的FTP命令(假设FTP服务器的IP为19216801,共享目录为ABC)。

(1)连接FTP服务器

如果系统是Windows 9X,我们可以在MS-Dos中操作,如果系统是Windows 2000/XP,我们可以在命令行模式下面进行。

首先,在命令行或DOS窗口中输入“ftp”命令并敲回车,然后在“ftp>”提示符后面敲入“open 19216801 port”(port是FTP服务器的端口号),此时命令行等待我们输入用户名,输入合法的用户名后再输入相应的密码,这时我们就可以登录FTP服务器了(图3)。

图3

(2)上传文件

成功登录服务器后,我们就可以上传文件了。上传文件之前,我们最好先建立一个文件夹,然后将文件上传到这个文件夹中,这样对于文件管理比较方便。建立文件夹的命令格式为:mkdir 文件夹名;上传文件的命令格式为:put 源文件的位置和文件名。按回车之后,我们还要输入目标位置,输入合法的目标位置之后再敲回车就行了。如果要实现批量传送文件,可以使用“mput”命令。

(3)下载文件

首先在光标处输入“pwd”命令来查看进入FTP服务器的目录,然后再输入“dir”或者“ls”命令,按回车后,就可以显示此目录里所有文件信息了。例如现在要把FTP服务器里 Music目录中的所有MP3完全下载,那么,首先使用“cd”命令切换目录,进入music目录,然后选择“mget”命令进行下载,“mget”命令可进行多个文件的批量下载(格式为:mget mp3)。如果要下载单个文件,则使用“get”命令。

(4)删除文档

我们可以用“delete”命令进行单一文件的删除,如果需要成批删除文件,则可以使用“mdelete”命令进行,当然若觉得这样太浪费时间,可以输入“rmdir”命令来删除整个目录。

(5)断开与FTP服务器的连接

使用完之后,我们最后使用“Close”命令就可退出与服务器的连接,若是要彻底和FTP说再见,那就使用“bye”或“quit”命令完全退出

f我们公司早把ftp换成换成爱米云了,功能完全可以代替ftp,分分钟就用起来了,简单得很!尤其是对管理员省事多了,文件管理、权限管理都非常方便,客户端传输速度快,还有秒传、文件去重,一些挺实用的功能,系统兼容性也比较好

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » java如何测试连接ftp是否通

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情