gedoor před 4 roky
rodič
revize
b0fe90c309

+ 4 - 4
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 ->
             LocalBook.getBookInputStream(book).use { bis ->
                 val buffer = ByteArray(BUFFER_SIZE)
                 val buffer = ByteArray(BUFFER_SIZE)
                 var blockContent: String
                 var blockContent: String
-                bis.read(buffer)
+                var length = bis.read(buffer)
                 book.charset = EncodingDetect.getEncode(buffer)
                 book.charset = EncodingDetect.getEncode(buffer)
                 charset = book.fileCharset()
                 charset = book.fileCharset()
-                blockContent = String(buffer, charset)
+                blockContent = String(buffer, 0, length, charset)
                 rulePattern = if (book.tocUrl.isNotEmpty()) {
                 rulePattern = if (book.tocUrl.isNotEmpty()) {
                     Pattern.compile(book.tocUrl, Pattern.MULTILINE)
                     Pattern.compile(book.tocUrl, Pattern.MULTILINE)
                 } else {
                 } else {
                     if (blockContent.isEmpty()) {
                     if (blockContent.isEmpty()) {
-                        bis.read(buffer)
+                        length = bis.read(buffer)
                         book.charset = EncodingDetect.getEncode(buffer)
                         book.charset = EncodingDetect.getEncode(buffer)
-                        blockContent = String(buffer, charset)
+                        blockContent = String(buffer, 0, length, charset)
                     }
                     }
                     getTocRule(blockContent)?.let {
                     getTocRule(blockContent)?.let {
                         Pattern.compile(it.rule, Pattern.MULTILINE)
                         Pattern.compile(it.rule, Pattern.MULTILINE)