首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何过滤PrintStream

如何过滤PrintStream
EN

Stack Overflow用户
提问于 2014-10-05 22:03:28
回答 1查看 422关注 0票数 0

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

13:12:09.110僵尸网络0-僵尸0信息org.pircbotx.InputParser - :jdbener!jdbener@jdbener.tmi.twitch.tv PRIVMSG #irish_00 :yay

我希望它能像这样写到文件中:

13:12 < Twitch> Jdbener:耶

下面是作者文件的代码:

代码语言:javascript
复制
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);
 }
 }

如果你还需要什么,请告诉我,我提前感谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-06 00:09:50

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

代码语言:javascript
复制
13:12:09.110 [botPool0-bot0] INFO org.pircbotx.InputParser - :jdbener!jdbener@jdbener.tmi.twitch.tv PRIVMSG #irish_00 :yay

看上去像这样:

代码语言:javascript
复制
13:12 < Twitch> Jdbener: yay

你可以这样做:

代码语言:javascript
复制
 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,然后更新答案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26207686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档