VerveDo/app/src/main/kotlin/cn/super12138/todo/utils/FileUtils.kt
Super12138 a3f4c628d0 feat(settings): 安全模式
同时将主题逻辑移入 ViewModel
崩溃界面支持主题色板、动态颜色和对比度
提取部分方法
2025-02-11 21:30:23 +08:00

30 lines
No EOL
922 B
Kotlin

package cn.super12138.todo.utils
import java.io.File
import java.io.FileInputStream
import java.util.zip.ZipEntry
import java.util.zip.ZipOutputStream
object FileUtils {
fun addFileToZip(file: File, fileName: String, zipOut: ZipOutputStream) {
if (file.isHidden) {
return // 忽略隐藏文件
}
if (file.isDirectory) {
// 如果是文件夹,递归处理
val children = file.listFiles()
if (children != null) {
for (childFile in children) {
addFileToZip(childFile, "$fileName/${childFile.name}", zipOut)
}
}
} else {
// 如果是文件,写入 ZIP
FileInputStream(file).use { fis ->
val zipEntry = ZipEntry(fileName)
zipOut.putNextEntry(zipEntry)
fis.copyTo(zipOut)
}
}
}
}