gpt4 book ai didi

java - 向玩家发送消息时出现问题

转载 作者:行者123 更新时间:2023-12-01 15:24:08 25 4
gpt4 key购买 nike

我的 bukkit 插件有问题。我尝试做的是搜索一个文件,并逐行读取它(可行),然后如果该行中有一些文本,它必须返回该行,但它还必须返回其中的所有其他行文件中也包含该特定文本。当我有这些行时,我必须将这些行以消息形式发送给播放器,这不是问题,但是当我发送我现在得到的行时,“\n”不起作用,这是代码我现在使用:

  public String searchText(String text, String file, Player p)
{
String data = null;

try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line = null;

while((line = br.readLine()) != null)
{
if(line.indexOf(text) >= 0)
{
data += System.getProperty("line.separator") + line + System.getProperty("line.separator");
}
p.sendMessage("+++++++++++GriefLog+++++++++++");
p.sendMessage(data);
p.sendMessage("++++++++++GriefLogEnd+++++++++");
}

br.close();

} catch (Exception e) {
e.printStackTrace();
}

return "";
}

返回值应该是空的,因为返回给玩家的信息要高一点:P现在的问题是,如何在数据变量中添加“\n”,因为当我在其余代码中使用此函数时,它给出了很多行,但没有“\n”,那么如何做我把它放进去了?

最佳答案

由于您的方法不应返回任何内容,因此请删除 return 语句并将返回类型设置为 void。看起来您的代码将为您的搜索词出现的每一行输出一次数据字符串,请尝试:

data = "";
while((line = br.readLine()) != null)
{
if(line.indexOf(text) >= 0)
{
//remove the first System.getProperty("line.separator") if
//you don't want a leading empty line
data += System.getProperty("line.separator") + line +
System.getProperty("line.separator");
}
}
if (data.length() > 0) {
p.sendMessage("+++++++++++GriefLog+++++++++++");
p.sendMessage(data);
p.sendMessage("++++++++++GriefLogEnd+++++++++");
}

关于java - 向玩家发送消息时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10427302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com