0

我正在尝试使用PircBotX编写一个基本的 irc 聊天机器人。我想将聊天输出到文本文件,但找不到这样做的方法。我正在编写自己的代码,并且可以将控制台输出到一个文件,其中的行如下所示:

13:12:09.110 [botPool0-bot0] 信息 org.pircbotx.InputParser - :jdbener!jdbener@jdbener.tmi.twitch.tv PRIVMSG #irish_00 :yay

我希望它像这样将其写入文件:

13:12 <Twitch> Jdbener:耶

这是我为编写器文件提供的代码:

public class writer extends OutputStream {
public void write(int b) throws IOException {
     String Output = String.valueOf((char)b);
     FileWriter writer = new FileWriter("output-dirty.txt", true);
     writer.append(Output);
     writer.close();
     testbot.stringB.append(Output);
 }
 }

如果您需要其他任何东西,请告诉我,我提前感谢您的帮助!

4

1 回答 1

1

如果问题是如何做到这一点:

13:12:09.110 [botPool0-bot0] INFO org.pircbotx.InputParser - :jdbener!jdbener@jdbener.tmi.twitch.tv PRIVMSG #irish_00 :yay

看起来像这样:

13:12 < Twitch> Jdbener: yay

你可以这样做:

 String a = "13:12:09.110 [botPool0-bot0] INFO org.pircbotx.InputParser - :jdbener!jdbener@jdbener.tmi.twitch.tv PRIVMSG #irish_00 :yay";

 String[] b = a.split(":");

 String c =   b[0] + ":" + 
              b[1] + 
              "<Twitch>" +
              b[3].split("!")[0].replace(b[3].split("!")[0].charAt(0), Character.toUpperCase(b[3].split("!")[0].charAt(0))) + 
              ": " +
              b[b.length - 1];

测试System.out.println(c);将输出:13:12<Twitch>Jdbener: yay

当然,我假设与原版有一些一致性String。如果答案效果不佳,请粘贴更多示例输入Strings并更新答案。

于 2014-10-06T00:09:50.780 回答