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 中高效地进行文件读写操作。