当前位置:  技术问答>java相关

如何用JAVA编写测试本机上是否有FTP服务?

    来源: 互联网  发布时间:2015-08-24

    本文导语:  【 在 ck 的大作中提到: 】 : 两个问题: : 如何用JAVA编写测试本机上是否有FTP服务? :  : 如何用JAVA编写为本机FTP增加一个用户? 对第一个问题我用URL以及URLConnection类,用URLConnection的connect"ftp://...") 来测试FTP服务是否启...


【 在 ck 的大作中提到: 】
: 两个问题:
: 如何用JAVA编写测试本机上是否有FTP服务?

: 如何用JAVA编写为本机FTP增加一个用户?

对第一个问题我用URL以及URLConnection类,用URLConnection的connect"ftp://...")
来测试FTP服务是否启用。但如果当FTP服务是关闭的则connect()函数就一直阻塞,不返回。

|
可以试试这个方法:
import java.io.*;

public class RunFTP {
  public static void main(String[] args) {
    Process process;
    try {
      process = Runtime.getRuntime().exec("ftp 127.0.0.1"); //此处写机器ip
      InputStream in = process.getInputStream();
      BufferedReader reader = new BufferedReader(
              new InputStreamReader(in));
      String line = "";
      while ((line = reader.readLine()) != null) {
        System.out.println(line);
      }
      in.close();
      reader.close();
      process.destroy();
    } catch(Exception e) {
      e.printStackTrace();
    }
  }
}

你可以根据输出流来判断有没有 "Connected to 127.0.0.1"的字样,如果有则表示有ftp服务。

|
Joeblackyang(野Heart) 的方法是调用系统的ftp命令(这个倒是linux/windows都有),不过,ftp这个东西,默认是连21的。所以不解决问题。

扫描端口吧,呵呵。找到了发控制命令,有格式的。ftp不太清楚,好像也是helo吧。你看看cuteftp的显示就知道了。

第二个功能到可以用:
process = Runtime.getRuntime().exec("xxxxx");
不过linux很简单,一句命令就能加,windows就不知道了,不熟。

|
问题一:假如ftp服务端口不是21怎么办?
问题二:各种ftp服务器添加用户不一样,你只有根据不同的ftp服务器来写

|
试试这个方法:

import java.io.*;

public class RunFTP {
  public static void main(String[] args) {
    Process process;
    try {
      process = Runtime.getRuntime().exec("ftp 127.0.0.1"); //这里写你的ip
      InputStream in = process.getInputStream();
      BufferedReader reader = new BufferedReader(
              new InputStreamReader(in));
      String line = "";
      while ((line = reader.readLine()) != null) {
        System.out.println(line);
      }
      in.close();
      reader.close();
      process.destroy();
    } catch(Exception e) {
      e.printStackTrace();
    }
  }
}

根据输出流来判断有没有"Connected to 127.0.0.1"的字样,有则表示存在ftp。增加用户可用同样的方法。如果当FTP服务是关闭好像没办法了。

|
问题一:我根据RFC文档规范,编写一个简单的客户程序,连接成功即有此服务。
问题二:不懂。

|
不是21端口,可以设置一个循环代码段扫描`~~xixi。

    
 
 

您可能感兴趣的文章:

  • 本机间java 和 c/c++怎么通讯?
  • java实现判断字符串是否全是数字的四种方法代码举例 iis7站长之家
  • 在java中如何得到本机的工作组或者是域名
  • 用纯Java如何获得本机CPU的频率?多谢了...
  • 高分请教:用java怎么测出本机的硬件类型
  • 如何用JAVA执行本机Linux操作系统的可执行文件?一定给分!在线等待!
  • 请问如何获得本机IP,java实现
  • Java判断本机IP地址类型的方法
  • 我想要一个把Java编出来的代码,编译成像C++一样的可执行本机代码。推荐一个工具。谢谢!
  • CentOS5.1启动后在JAVA程序读取之前取到本机IP地址后写入一个properties文件中,请问如何做到?
  • VB编写的DLL不能被JAVA调用,用C将VB编写的DLL包装起来,做成一个新的DLL;用C编写的DLL可以被JAVA调用,用JAVA再进行一层的包装,因为JAV
  • 用jsp编写web程序到底和java serverlet编写web程序有和区别
  • 如何用java编写一个NT平台下的标准服务?
  • java能不能编写单独运行的程序?
  • 怎么用JBuild编写java console程序
  • 哪位有java通信方面的经验,谈谈如何利用java编写服务器程序来接受unix主机发送的数据信息?
  • linux下用java编写邮箱客户端程序与在windows下有什么不同??
  • 用JAVA编写COM组件
  • 使用editplus编写java如何编译成字节码文件,如何解释
  • JavaScript编写的Java虚拟机 BicaVM
  • 请问java用什么工具编写?在哪里运行?我刚开始学,不太懂,谢谢了
  • 想学JAVA,有没有轻量级一点的JAVA程序编写器????
  • 如何在linux下自动启动一个用Java编写的服务程序?
  • 求助:用java如何编写生成pdf格式报表的程序?
  • 请教如何使用Java编写的Applet程序关闭浏览器??
  • 怎样用java编写一个学籍管理系统?
  • oxfordxyc(石头) 能否给我也发一个java编写一个学籍管理系统,thx
  • 编写把一java程序中所有的print语句都删除,帮忙分析一下思路。
  • 刚学习Java,请教关于Java的Application代码编写问题。
  • 用java编写网络程序,那本书比较好?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java实现判断字符串是否全是数字的四种方法代码举例
  • 请大家评价一下Thinking in Java第二版(中文)这本书如何,是否适合JAVA初学者?
  • java判断日期字符是否有效(在线等待答案)
  • 在线等待:在Java中是否有权限修改一个文件的权限?
  • Java中如何比较两个数组中元素是否相同
  • 请问哪位参加过JAVA认证考试,是否有例题?
  • 是否有在Dos6.22平台下的Java虚拟机?
  • Java 中是否有象MessageBox一样的类或方法
  • 如何检测一个java.sql.ResultSet对象是否eof?
  • java applet和servlet之间是否可以传递对象?
  • java判断远程服务器上的文件是否存在的方法
  • 请问既会JAVA又会VC的大侠:JAVA调试时是否有类似于VC中的TRACE功能
  • JAVA的类库中是否有正则表达式这样的东东?
  • Java的类是否区分大小写?
  • 在java中如何判断目录是否存在
  • 如何检验Java虚拟机是否存在??? 谢谢 在线求答!!!
  • sun的Solaris8(SPARC版)是否已有java开发环境?
  • 我是学pb的,有一个问题想请教各位java的朋友,j2ee平台是什么啊?如果要用这个平台的开发pb的话是否要学java??
  • C语言中有指针,因此C语言可以创建链表,那么Java语言没有指针,那Java是否可以创建链表呢?
  • borland 的JBUILDER 是否是最优秀的JAVA编译器?
  • java的applet中是否有将一个字符串转为对象处理?如:"Label1"转为Label?
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3