小编Pet*_*sis的帖子

Kotlin中的错误"不能为空"

.zip文件中有多个文件,我正在尝试获取.尝试解压缩文件提供了java.lang.IllegalStateException:zis.nextEntry不能为null.怎么做正确的方法?

@Throws(IOException::class)
    fun unzip(zipFile: File, targetDirectory: File) {
        val zis = ZipInputStream(
                BufferedInputStream(FileInputStream(zipFile)))
        try {
            var ze: ZipEntry
            var count: Int
            val buffer = ByteArray(8192)
            ze = zis.nextEntry
            while (ze != null) {
                val file = File(targetDirectory, ze.name)
                val dir = if (ze.isDirectory) file else file.parentFile
                if (!dir.isDirectory && !dir.mkdirs())
                    throw FileNotFoundException("Failed to ensure directory: " + dir.absolutePath)
                if (ze.isDirectory)
                    continue
                val fout = FileOutputStream(file)
                try {
                    count = zis.read(buffer)
                    while (count != -1) {
                        fout.write(buffer, 0, count)
                        count = …
Run Code Online (Sandbox Code Playgroud)

java android inputstream zipinputstream kotlin

13
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

inputstream ×1

java ×1

kotlin ×1

zipinputstream ×1