我正在尝试创建一个缓冲的阅读器,以便通过聊天进行发言,目的是使说长语句变得更加容易。我有这个缓冲的读者,它在大多数情况下都可以工作,但只读取最后一行,其他所有工作都很好。我在代码中哪里出错了?作为参考,它是:(为澄清起见,“ eggtime”是一个时间延迟的布尔值)
静态文件华夫饼=新文件(Minecraft.getMinecraftDir(),“ speech.txt”);
public static void speechedo(String args)
{
if(waffles.exists())
{
@SuppressWarnings("resource")
BufferedReader read = null;
try {
read = new BufferedReader(new FileReader(waffles));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String notataco;
if (eggtime){
try {
for(int i = 0; (notataco = read.readLine()) != null; i++)
{
speechmakerchat = notataco;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}else{
return;}
}
最佳答案
在行中
speechmakerchat = notataco;
您要用最后一行替换
speechmakerchat
的内容,并丢弃先前读取的值。您需要将新数据连接到旧数据: speechmakerchat += notataco;
顺便说一下,您有...有趣的...变量的命名约定。