java控制台上的Telnet连接

java控制台上的Telnet连接,java,linux,eclipse,console,telnet,Java,Linux,Eclipse,Console,Telnet,我正在Linux操作系统中使用eclipse,这就是我想要做的(仅在java控制台中)- 通过(当前)telnet客户端连接到另一台远程计算机 在远程系统中执行一个简单的命令(类似ls) 可能吗?我确信Runtime.getRuntime.exec()不会工作。所以使用了commons.netjar文件。这是我的代码片段 public static void testMount() throws Exception { String osName = ""; Scanner sc

我正在Linux操作系统中使用eclipse,这就是我想要做的(仅在java控制台中)-

  • 通过(当前)telnet客户端连接到另一台远程计算机
  • 在远程系统中执行一个简单的命令(类似ls)
  • 可能吗?我确信
    Runtime.getRuntime.exec()
    不会工作。所以使用了commons.netjar文件。这是我的代码片段

    public static void testMount() throws Exception {
        String osName = "";
        Scanner sc = new Scanner(System.in);
        TelnetClient telnet = new TelnetClient();
        System.out.println("Operating System: ");
        osName = sc.next();
        System.out.println(osName);
        String volumeToMount = "";
        String mountPoint = "";
        String ipAddress = "";
        int port = 23;
    
        if (osName.equalsIgnoreCase("Linux")) {
            // Linux
            ipAddress = "1.2.3.4"; //
            telnet.connect(ipAddress, port);
            volumeToMount = "/dev/hda1";
            mountPoint = "/data/Temp";
        } 
        mountFileSystem(volumeToMount, mountPoint);
    }
    

    如果您有一个现有的示例,或者您可以修改我的代码,如果您能在这里分享,我将非常感谢您

    使用Apache Commons Net
    TelnetClient
    时,必须使用对象返回的
    InputStream
    OutputStream
    (请参见
    getInputStream()
    getOutputStream()
    方法)来读取数据和发送数据(命令)。有一个很好的例子(请参阅Telnet和Commons/NET部分)。

    使用Apache Commons NET
    TelnetClient
    必须使用对象返回的
    InputStream
    OutputStream
    方法(请参阅
    getInputStream()
    getOutputStream()
    方法)来读取数据和发送数据(命令). 这里有一个很好的例子(请参见章节Telnet和Commons/NET)。

    为什么要自己实现Telnet?有几个库做得很好。看看雅加达网络包:

    为什么要自己实现Telnet?有几个库做得很好。查看雅加达网络包:

    非常感谢。连接已建立。但我不能通过发出ls或cd/tmp等命令进行交互。@hari:为什么不能?您看过我链接的示例了吗(使用
    TelnetClient
    getgetInputStream()
    getOutputStream())
    ?如果是,您会遇到什么错误?没有错误。但是在登录后,我发出了ls命令,什么也没有发生。执行也不会终止。如果看不到您的实际代码,很难判断。如何发出
    ls
    命令?非常感谢..连接已经建立。但是我无法通过发出命令进行交互例如ls或cd/tmp等。@hari:为什么不呢?你看过我链接的示例了吗(使用
    TelnetClient
    getInputStream()
    getOutputStream()
    ?如果是,您会遇到什么错误?没有错误。但是在登录后,我给出了ls命令,什么也没有发生。执行也不会终止。如果没有看到您的实际代码,很难判断。您如何给出
    ls
    命令?他使用的是org.apache.commons.net.telnet.TelnetClient只是省略了他使用的是org.apache.commons.net.telnet.TelnetClient,为了简洁起见,省略了import语句。