txt文件解析目录时空白章节视为卷

pull/1568/head
Xwite 3 years ago
parent 4d7a84ed94
commit 27bc4787e3
  1. 6
      app/src/main/java/io/legado/app/model/localBook/TextFile.kt

@ -124,6 +124,7 @@ class TextFile(private val book: Book) {
val chapterStart = matcher.start() val chapterStart = matcher.start()
//获取章节内容 //获取章节内容
val chapterContent = blockContent.substring(seekPos, chapterStart) val chapterContent = blockContent.substring(seekPos, chapterStart)
var mChapterContent = chapterContent
val chapterLength = chapterContent.toByteArray(charset).size val chapterLength = chapterContent.toByteArray(charset).size
val lastStart = toc.lastOrNull()?.start ?: curOffset val lastStart = toc.lastOrNull()?.start ?: curOffset
if (curOffset + chapterLength - lastStart > 50000) { if (curOffset + chapterLength - lastStart > 50000) {
@ -140,12 +141,14 @@ class TextFile(private val book: Book) {
qyChapter.title = "前言" qyChapter.title = "前言"
qyChapter.start = curOffset qyChapter.start = curOffset
qyChapter.end = chapterLength.toLong() qyChapter.end = chapterLength.toLong()
qyChapter.isVolume = mChapterContent.substringAfter(qyChapter.title).isBlank()
toc.add(qyChapter) toc.add(qyChapter)
} }
//创建当前章节 //创建当前章节
val curChapter = BookChapter() val curChapter = BookChapter()
curChapter.title = matcher.group() curChapter.title = matcher.group()
curChapter.start = chapterLength.toLong() curChapter.start = chapterLength.toLong()
curChapter.isVolume = mChapterContent.substringAfter(curChapter.title).isBlank()
toc.add(curChapter) toc.add(curChapter)
} else { //否则就block分割之后,上一个章节的剩余内容 } else { //否则就block分割之后,上一个章节的剩余内容
//获取上一章节 //获取上一章节
@ -157,6 +160,7 @@ class TextFile(private val book: Book) {
val curChapter = BookChapter() val curChapter = BookChapter()
curChapter.title = matcher.group() curChapter.title = matcher.group()
curChapter.start = lastChapter.end curChapter.start = lastChapter.end
curChapter.isVolume = mChapterContent.substringAfter(curChapter.title).isBlank()
toc.add(curChapter) toc.add(curChapter)
} }
} else { } else {
@ -169,12 +173,14 @@ class TextFile(private val book: Book) {
val curChapter = BookChapter() val curChapter = BookChapter()
curChapter.title = matcher.group() curChapter.title = matcher.group()
curChapter.start = lastChapter.end curChapter.start = lastChapter.end
curChapter.isVolume = mChapterContent.substringAfter(curChapter.title).isBlank()
toc.add(curChapter) toc.add(curChapter)
} else { //如果章节不存在则创建章节 } else { //如果章节不存在则创建章节
val curChapter = BookChapter() val curChapter = BookChapter()
curChapter.title = matcher.group() curChapter.title = matcher.group()
curChapter.start = curOffset curChapter.start = curOffset
curChapter.end = curOffset curChapter.end = curOffset
curChapter.isVolume = mChapterContent.substringAfter(curChapter.title).isBlank()
toc.add(curChapter) toc.add(curChapter)
} }
} }

Loading…
Cancel
Save