读 | 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() | 递归删除文件或者文件夹,删除文件夹失败时,可能已经删除了一部分。 |