Main.kt文件
import java.io.Fileimport java.io.RandomAccessFilefun main(args: Array<String>) {val file = File("./abc.txt")mkFile(file)/**-------------------create---------------*/val randomAccessFile = RandomAccessFile(file, "rw")log("写入前的文件长度=${randomAccessFile.length()}")val content1 = " 你好".toByteArray()val content2 = "下午好".toByteArray()val content3 = "晚上好".toByteArray()/**-------------------write---------------*/randomAccessFile.seek(randomAccessFile.length())randomAccessFile.write(content1)randomAccessFile.write(content2)randomAccessFile.write(content3)log("写入后的文件长度=${randomAccessFile.length()}")/**-------------------read---------------*/randomAccessFile.seek(0)val buffer: ByteArray = ByteArray(256)val builder: StringBuilder = StringBuilder()while (randomAccessFile.read(buffer) != -1) {builder.append(String(buffer))}log("当前的文件的内容为\n$builder")}fun log(any: Any?) {println(any)}fun mkFile(file: File) {if (!file.exists()) {file.createNewFile()}log(file.absolutePath)}
连续跑3次main方法,控制台打印内容:
写入前的文件长度=50写入后的文件长度=75当前的文件的内容为你好下午好晚上好 你好下午好晚上好 你好下午好晚上好
