Android开发中将String数据写入本地文件

2023-12-13 05:08:31

在开发中,我们经常会遇到将字符串写入文件中,用来验证我们获取的字符串是否正确,下面我们用讲解一个简单的写入文件的方法:

首先,我们得先添加写入的权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

下面是对应的写入代码:本篇主要是Kotlin写的:

    @JvmStatic
        fun writeTxtToFile(strcontent: String, filePath: String, fileName: String) {

        // 将字符串写入到文本文件中
//        fun writeTxtToFile(strcontent: String, filePath: String, fileName: String) {
            //生成文件夹之后,再生成文件,不然会出错
            makeFilePath1(filePath, fileName)
            val strFilePath = filePath + fileName
            // 每次写入时,都换行写
            val strContent = """
           $strcontent
           
           """.trimIndent()
            try {
                val file = File(strFilePath)
                if (!file.exists()) {
                    Log.d("TestFile", "Create the file:$strFilePath")
                    file.parentFile.mkdirs()
                    file.createNewFile()
                }
                val raf = RandomAccessFile(file, "rwd")
                raf.seek(file.length())
                raf.write(strContent.toByteArray())
                raf.close()
            } catch (e: java.lang.Exception) {
                Log.e("TestFile", "Error on write File:$e")
            }
        }

        //生成文件
        fun makeFilePath1(filePath: String, fileName: String): File? {
            var file: File? = null
            makeRootDirectory1(filePath)
            try {
                file = File(filePath + fileName)
                if (!file.exists()) {
                    file.createNewFile()
                }
            } catch (e: java.lang.Exception) {
                e.printStackTrace()
            }
            return file
        }

        //生成文件夹
        fun makeRootDirectory1(filePath: String?) {
            var file: File? = null
            try {
                file = File(filePath)
                if (!file.exists()) {
                    file.mkdir()
                }
            } catch (e: java.lang.Exception) {
                Log.i("error:", e.toString() + "")
            }
        }

文章来源:https://blog.csdn.net/qq_36451275/article/details/134922446
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。