0

Apache telnetは、文字列 (またはデータのような文字列) として読み取りInputStreamたい を使用します。

InputStreamを(私にとって)扱いやすいもの、StringBufferまたは類似のものに変換するにはどうすればよいですか。

4

3 に答える 3

0

これは途中です:

package teln;

import static java.lang.System.out;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.SocketException;
import org.apache.commons.net.telnet.TelnetClient;

public final class ConnectMUD {

    private static String EOL = "/[#]/";
    private static TelnetClient tc;

    public static void main(String[] args) throws SocketException, IOException {
        tc = new TelnetClient();
        tc.connect("some_mud.com", 123);
        readLines(tc.getInputStream());
    }

    private static void readLines(InputStream in) throws IOException {

        InputStreamReader is = new InputStreamReader(in);
        StringBuilder sb = new StringBuilder();
        BufferedReader br = new BufferedReader(is);
        String read = br.readLine();

        while (read != null) {
            out.println(read);
            sb.append(read);
            read = br.readLine();
            parseLine(read);
        }
    }

    private static void parseLine(String read) {
        login(read);
    }

    private static void login(String read) {
        //hmm, how do you know when you
        //get some funky, non-standard login?
        //look for an EOL of some sort?
    }
}

そこには非常に大きな文字列が含まれる可能性がありますが、私は最初に機能に焦点を当てています. da MUD を再生するための行の解析を開始しようとしています。

于 2013-08-28T07:17:45.753 に答える