Kotlin 按行读取文件

5年以前  |  阅读数:800 次  |  编程语言:Kotlin 
package com.ted.testcase

import android.text.TextUtils
import android.util.Log
import com.ted.android.utils.TedSDKLog
import com.ted.testcase.bean.Sms
import java.io.File
import java.io.InputStream

object DemoSmsLoader {
    private const val TAG = "DemoSmsLoader"
    private val sms: Sms? = null

    fun loadSms(path: String): List<Sms>? {
        var file = File(path)
        if (!file.exists()) {
            TedSDKLog.e(TAG, "样本 $path 不存在")
            return null
        }
        val result: ArrayList<Sms> = ArrayList()
        val inputStream: InputStream = File(path).inputStream()
        inputStream.bufferedReader().useLines { lines ->
            lines.forEach {
//                TedSDKLog.d(TAG, "sms: $it")
                if (TextUtils.isEmpty(it)) return@forEach
                if (!it.contains("\t")) return@forEach
                var array = it.split("\t")
                if (TextUtils.isEmpty(array[1])) return@forEach
                var sms = Sms(array[0], array[1])
                result.add(sms)
//                TedSDKLog.d(TAG, "adding sms $sms")
            }
        }
        return result
    }

}
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例