Kotlin 文件读写技巧主要包括以下几个方面:
使用 File 类进行文件操作:
File 类的构造函数创建文件对象。val file = File("path/to/your/file.txt")
exists() 方法检查文件是否已经存在。if (file.exists()) {
println("File exists")
} else {
println("File does not exist")
}
mkdir() 或 mkdirs() 方法创建目录。val directory = file.parentFile
if (!directory.exists()) {
directory.mkdirs()
}
使用 FileInputStream 和 FileOutputStream 进行文件读写:
FileInputStream 读取文件内容,并将其转换为字符串。val content = StringBuilder()
val inputStream = FileInputStream(file)
val buffer = ByteArray(1024)
var length: Int
while (inputStream.read(buffer).also { length = it } > 0) {
content.append(String(buffer, 0, length))
}
inputStream.close()
println(content.toString())
FileOutputStream 将字符串写入文件。val outputStream = FileOutputStream(file)
outputStream.write("Hello, World!".toByteArray())
outputStream.close()
使用 BufferedWriter 和 BufferedReader 进行文件读写:
BufferedWriter 将字符串写入文件,缓冲可以提高写入效率。val writer = BufferedWriter(FileWriter(file))
writer.write("Hello, World!")
writer.close()
BufferedReader 从文件中读取内容,缓冲可以提高读取效率。val reader = BufferedReader(FileReader(file))
var line: String?
while (reader.readLine().also { line = it } != null) {
println(line)
}
reader.close()
使用 Files 类进行高级文件操作:
Files.copy() 方法复制文件。val sourceFile = File("path/to/source/file.txt")
val destFile = File("path/to/destination/file.txt")
Files.copy(sourceFile.toPath(), destFile.toPath())
Files.move() 方法移动文件。Files.move(sourceFile.toPath(), destFile.toPath())
Files.deleteIfExists() 方法删除文件(如果存在)。Files.deleteIfExists(file.toPath())
异常处理:
try-catch 块来捕获并处理可能的 IOException。try {
// 文件操作代码
} catch (e: IOException) {
e.printStackTrace()
} finally {
// 确保资源被正确关闭,如使用 try-with-resources 语句
}
掌握这些技巧后,你可以在 Kotlin 中高效地进行文件读写操作。