|
@@ -7,25 +7,25 @@ import java.nio.file.Paths
|
|
|
import java.nio.file.StandardOpenOption
|
|
|
|
|
|
/**
|
|
|
- * 将字符串内容写入文件。
|
|
|
+ * 将字符串数据写入指定路径的文件。
|
|
|
*
|
|
|
- * @param name 文件名称。
|
|
|
- * @param dir 文件路径,默认为空,表示当前路径。
|
|
|
- * @param append 是否以追加模式写入,默认为 false 表示覆盖写入。
|
|
|
- * @return 写入是否成功,成功返回 true,否则返回 false。
|
|
|
+ * @param data 待写入的字符串数据。
|
|
|
+ * @param dir 文件保存的目录路径,可选参数,默认为 `null`(当前路径下操作)。
|
|
|
+ * @param append 是否以追加的方式写入文件,默认为 `false`(覆盖模式写入)。
|
|
|
+ * @return 如果写入成功返回 `true`;否则返回 `false`。
|
|
|
*/
|
|
|
-fun String.fset(name: String, dir: String? = null, append: Boolean = false): Boolean = this.toByteArray().fset(name, dir, append)
|
|
|
+fun String.fset(data: String, dir: String? = null, append: Boolean = false): Boolean = this.fset(data.toByteArray(), dir, append)
|
|
|
|
|
|
/**
|
|
|
- * 将当前 ByteArray 的内容写入到指定文件。
|
|
|
+ * 将二进制数据写入指定路径的文件。
|
|
|
*
|
|
|
- * @param name 文件名,当提供 `dir` 参数时,此参数作为文件的相对路径或者文件名;如果 `dir` 未指定,则此参数为完整的文件路径。
|
|
|
- * @param dir 可选的目录路径。如果指定,将 `name` 作为子路径结合形成完整文件路径。
|
|
|
- * @param append 如果为 `true`,数据将追加到文件末尾;如果为 `false`,将覆盖文件内容。
|
|
|
- * @return 返回布尔值,表示文件写入操作是否成功。
|
|
|
+ * @param data 待写入的字节数组。
|
|
|
+ * @param dir 文件保存的目录路径,可选参数,默认为 `null`(当前路径下操作)。
|
|
|
+ * @param append 是否以追加的方式写入文件,默认为 `false`(覆盖模式写入)。
|
|
|
+ * @return 如果写入成功返回 `true`;否则返回 `false`。
|
|
|
*/
|
|
|
-fun ByteArray.fset(name: String, dir: String? = null, append: Boolean = false): Boolean {
|
|
|
- val j_name = if (dir == null) Paths.get(name) else Paths.get(dir, name)
|
|
|
+fun String.fset(data: ByteArray, dir: String? = null, append: Boolean = false): Boolean {
|
|
|
+ val j_name = if (dir == null) Paths.get(this) else Paths.get(dir, this)
|
|
|
do {
|
|
|
try {
|
|
|
val j_c = FileChannel.open(j_name, StandardOpenOption.CREATE, if (append) StandardOpenOption.APPEND else StandardOpenOption.WRITE)
|
|
@@ -33,7 +33,7 @@ fun ByteArray.fset(name: String, dir: String? = null, append: Boolean = false):
|
|
|
try {
|
|
|
val j_lock = j_c.lock()
|
|
|
try {
|
|
|
- j_c.write(ByteBuffer.wrap(this))
|
|
|
+ j_c.write(ByteBuffer.wrap(data))
|
|
|
if (!append) j_c.truncate(j_c.position())
|
|
|
return true
|
|
|
} catch (_: Exception) {
|