열번째 포스팅은 코틀린에서의 파일 입출력입니다.
import java.io.*
import java.util.*
fun main(args: Array<String>) {
val outString:String = "hello" // 파일에 추가해 줄 문자열
val path:String = "/Users/user/test/test.rtf" // 텍스트 파일 샘플
}
import java.io.*
import java.util.*
fun main(args: Array<String>) {
val files = File("/Users").listFiles() // 지정해 준 경로 내의 파일을 리스트로 생성
println(Arrays.toString(files)) // 리스트 출력
}
fun main(args: Array<String>) {
// val path:String = "/Users/user/test/test.rtf"
// copyTo() 사용
File(path).copyTo(File("/Users/user/test/test2.rtf"))
}
import java.io.*
import java.util.*
fun main(args: Array<String>) {
// forEachLine으로 반복하며 출력
File(path).forEachLine { println(it) }
}
import java.io.*
import java.util.*
fun main(args: Array<String>) {
// readText()로 텍스트 읽기
var text = File(path).readText()
println(text)
}
import java.io.*
import java.util.*
fun main(args: Array<String>) {
val file = File(path)
val inputStream:InputStream = file.inputStream()
val inputStreamReader = InputStreamReader(inputStream)
var line:String?
val br = BufferedReader(inputStreamReader)
val sb = StringBuffer()
try {
line = br.readLine()
while (true) {
sb.append(line, "\n")
line = br.readLine()
}
println(sb)
} catch (e:Exception) {
e.printStackTrace()
}
}
use
를 사용하여 좀 더 간략하게 코드 작성import java.io.*
import java.util.*
fun main(args: Array<String>) {
val file = File(path)
val inputStream:InputStream = file.inputStream()
val readText = inputStream.bufferedReader().use { it.readText() }
println(readText)
}
useLine
사용하기import java.io.*
import java.util.*
fun main(args: Array<String>) {
val bufferedReader = File(path).bufferedReader()
val lineList = mutableListOf<String>()
bufferedReader.useLines { lines -> lines.forEach { lineList.add(it) } }
lineList.forEach { println(it) }
}
import java.io.*
import java.util.*
fun main(args: Array<String>) {
val str:String = "안녕하세요\r\nHello"
// File(path).printWriter().use { it.println(str) }
val writer = FileWriter(path)
try {
writer.write(str)
} catch (e:Exception) {
e.printStackTrace()
} finally {
writer.close()
}
}