Main.kt
文件
import java.io.File
import java.io.RandomAccessFile
fun 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
当前的文件的内容为
你好下午好晚上好 你好下午好晚上好 你好下午好晚上好