我正在尝试使用 PircBotX 编写一个基本的 irc 聊天机器人。我想将聊天内容输出到文本文件,但找不到方法。我正在编写自己的代码,并且可以将控制台输出到一个文件,其中的行如下所示:
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
这是我的编写器文件的代码:
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);
}
}
如果您需要任何其他信息,请告诉我,我提前感谢您的帮助!
最佳答案
如果问题是如何做到这一点:
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
并将更新答案。
关于java - 如何过滤打印流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26207686/