bufferedReader现在需要10秒多才能完成(Kotlin)

时间:2018-03-15 17:34:57

标签: java android kotlin

这是我的代码。

val bufferedReader = BufferedReader(FileReader(filelocation.toString()))
val xmlString = StringBuilder()
do {
    val line: String? = bufferedReader.readLine() ?: break
    xmlString.append(line.toString())
} while(true)

过去需要0.5到1秒才能完成。由于硬盘丢失,我不得不重做我的整个项目。现在,在同一个XML文件上,这需要10秒以上才能完成。我怎样才能改善这个?源文件是一个大约12,000行的xml文件。

1 个答案:

答案 0 :(得分:0)

虽然在阅读大型XML文件时我无法获得接近几秒钟的时间(我使用120k行,3 MB文件进行了测试),但这里有一些使用{{3进行相同操作的代码来自标准库的函数在我的机器上运行速度大约是其速度的6倍:

NavigationView.MenuItem

如果您在Kotlin中进行文件I / O,您可能还想查看useLines包的所有其他功能,它有许多方便的解决方案来执行此类任务。