咩狼博客 · 10月 30, 2022 0

BufferedReader踩坑笔记

今天尝试使用Gson和BufferedReader来实现读取与解析Json文件,在网路上查找了一些资料,很多都是写成这样的:

-- JAVA (JDK 8)

File file = new File("xxx\\xxx\\xxx.json");

StringBuffer strlist = new StringBuffer();

BufferedReader buffreader = new
BufferedReader(new FileReader(file));

while (buffreader.readLine() != null) {
    strlist.append(buffreader.readLine());
}

buffreader.close();

虽然我也是觉得哪里不太对,但是因为菜促使我没有想太多。
这就直接导致每次读取行都会跳行,卡了很久。
这会我才醒悟过来,BufferedReader().readLine()这是每次使用都会读取下一行的阿!
果然这种东西还是得靠自己思考,重新实现后的代码如下(Kotlin)

-- KOTLIN (1.1.4)
while (true) {
    val str = buffreader.readLine()
    if (str == null) break else text.append(str.toString())
}
buffreader.close()

问题解决。