IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Kotlin - File 文件类 -> 正文阅读

[移动开发]Kotlin - File 文件类

文件操作

遍历walk()自上而下,深度优先,遍历整个文件夹。
walkBottomUp()自下而上的顺序遍历文件目录和内容。
walkTopDown()自上而下的顺序遍历文件目录和内容。
名称extension()文件名的后缀格式,不包含“.”,例如 mp3。
nameWithoutExtension()文件名,不包含后缀。

流操作

readBytes()

public fun File.readBytes(): ByteArray

以ByteArray形式返回读取到的文件全部内容,上限2G。

readText()

File.readText(charset: Charset = Charsets.UTF_8): String

以String形式返回读取到的文件全部内容,上限2G,默认编码UTF-8。

readLines()

public fun File.readLines(charset: Charset = Charsets.UTF_8): List<String>

以List形式返回读取到的文件全部内容,一个元素是读取到的一行内容,只能是文本。不要在大文件上使用此方法。

useLines()

public inline fun <T> File.useLines(charset: Charset = Charsets.UTF_8, block: (Sequence<String>) -> T): T

forEachLine()

public fun File.forEachLine(charset: Charset = Charsets.UTF_8, action: (line: String) -> Unit): Unit

按行读取文件并为每行调用action,适用于大文件。

forEachBlock()

public fun File.forEachBlock(action: (buffer: ByteArray, bytesRead: Int) -> Unit): Unit?
public fun File.forEachBlock(blockSize: Int, action: (buffer: ByteArray, bytesRead: Int) -> Unit): Unit

按字节块读取文件并为每个读取的块调用action,字节块默认为4096最小为512。适用于大文件。

inputStream()

public inline fun File.inputStream(): FileInputStream

reader()

public inline fun File.reader(charset: Charset = Charsets.UTF_8): InputStreamReader

返回一个InputStreamReader以读取此文件的内容。

bufferedReader()

public inline fun File.bufferedReader(charset: Charset = Charsets.UTF_8, bufferSize: Int = DEFAULT_BUFFER_SIZE): BufferedReader

返回一个BufferedReader用于读取此文件的内容,默认大小8*1024。

writeBytes()

public fun File.appendBytes(array: ByteArray): Unit

写入字节数组,已有同名文件会覆盖。

writeText()

public fun File.writeText(text: String, charset: Charset = Charsets.UTF_8): Unit

写入字符串,已有同名文件会覆盖。

appendBytes()

public fun File.writeBytes(array: ByteArray): Unit

追加字节数组到文件末尾。

appendText()

public fun File.appendText(text: String, charset: Charset = Charsets.UTF_8): Unit

追加字符串到文件末尾。

outputStream

public inline fun File.outputStream(): FileOutputStream

writer()

public inline fun File.writer(charset: Charset = Charsets.UTF_8): OutputStreamWriter

返回一个OutputStreamWriter用于写入此文件。

bufferedWriter()

public inline fun File.bufferedWriter(charset: Charset = Charsets.UTF_8, bufferSize: Int = DEFAULT_BUFFER_SIZE): BufferedWriter

返回一个BufferedWriter用于写入此文件。

printWrite()

public inline fun File.printWriter(charset: Charset = Charsets.UTF_8): PrintWriter

拷贝copyTo()复制文件或者文件夹,并且会创建target所需的各个父级文件夹(如果缺少)。overwrite为true时,target可被覆盖,不为true并且当target存在时,返回false,复制失败。overwrite为true并且target是一个文件夹时,只有当文件夹为空时才会被替换。源文件如果是文件夹,则只会创建目标文件夹,不会复制文件夹中的文件。该操作不会保留复制的文件属性,例如创建/修改日期、权限等。
copyRecursively()递归复制文件或者文件夹,并且会创建target所需的各个父级文件夹(如果缺少)。如果源文件是文件夹,将复制文件夹中的所有内容。该操作不会保留复制的文件属性,例如创建/修改日期、权限等。默认自带的错误处理器会将错误抛出,可以传入一个Lambda用来处理异常。复制文件夹失败时,可能已经复制了一部分。
删除deleteRecursively()递归删除文件或者文件夹,删除文件夹失败时,可能已经删除了一部分。
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-06-26 17:00:33  更:2022-06-26 17:01:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 7:17:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码