File Handling
File Handling
Video Explanation

Reading Files
Read Entire File as a String
import java.io.File
fun main() {
val content = File("example.txt").readText()
println(content)
}
Read File Line by Line (as List)
import java.io.File
fun main() {
val lines = File("example.txt").readLines()
lines.forEachIndexed { index, line ->
println("${index + 1}: $line")
}
}
Read File Using forEachLine
Memory-efficient for large files:
import java.io.File
fun main() {
File("example.txt").forEachLine { line ->
println(line)
}
}
Read as Bytes
import java.io.File
fun main() {
val bytes = File("image.png").readBytes()
println("File size: ${bytes.size} bytes")
}
Writing Files
Write Text to a File
import java.io.File
fun main() {
File("output.txt").writeText("Hello, Kotlin!\nFile handling is easy.")
println("File written successfully.")
}
Append to a File
import java.io.File
fun main() {
val file = File("log.txt")
file.appendText("Log entry 1\n")
file.appendText("Log entry 2\n")
}
Write Lines
import java.io.File
fun main() {
val lines = listOf("Line 1", "Line 2", "Line 3")
File("output.txt").writeText(lines.joinToString("\n"))
}
Checking File Existence and Properties
import java.io.File
fun main() {
val file = File("example.txt")
println(file.exists()) // true/false
println(file.isFile()) // true if it's a file
println(file.isDirectory()) // true if it's a folder
println(file.length()) // size in bytes
println(file.name) // file name
println(file.absolutePath) // full path
println(file.extension) // "txt"
println(file.nameWithoutExtension) // "example"
}