From 5c5845a1bac1e9511da99e6f679e134bf1d65baa Mon Sep 17 00:00:00 2001 From: gedoor Date: Thu, 6 Jan 2022 14:18:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/legado/app/model/localBook/TextFile.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/io/legado/app/model/localBook/TextFile.kt b/app/src/main/java/io/legado/app/model/localBook/TextFile.kt index 98deec5a6..57d1a7caf 100644 --- a/app/src/main/java/io/legado/app/model/localBook/TextFile.kt +++ b/app/src/main/java/io/legado/app/model/localBook/TextFile.kt @@ -25,17 +25,17 @@ class TextFile(private val book: Book) { LocalBook.getBookInputStream(book).use { bis -> val buffer = ByteArray(BUFFER_SIZE) var blockContent: String - bis.read(buffer) + var length = bis.read(buffer) book.charset = EncodingDetect.getEncode(buffer) charset = book.fileCharset() - blockContent = String(buffer, charset) + blockContent = String(buffer, 0, length, charset) rulePattern = if (book.tocUrl.isNotEmpty()) { Pattern.compile(book.tocUrl, Pattern.MULTILINE) } else { if (blockContent.isEmpty()) { - bis.read(buffer) + length = bis.read(buffer) book.charset = EncodingDetect.getEncode(buffer) - blockContent = String(buffer, charset) + blockContent = String(buffer, 0, length, charset) } getTocRule(blockContent)?.let { Pattern.compile(it.rule, Pattern.MULTILINE)