🕌
KotlinでCSVファイル読み込み・書き込み📝
どうやってファイル操作するの?
Kotlinでファイルの操作処理を書く方法はいくつかありますが、今回はjava.ioパッケージのクラスを使用することで、CSVファイルを操作していきます。
使用するCSVファイル
test.csv
学籍番号,名前,所属学科
n20019,テスト1,TB
b20008,テスト2,UT
ファイル読み込み
Main.kt
import java.io.File
fun main() {
val csvFilePath = "test.csv"
val lines = File(csvFilePath).bufferedReader().use { it.readLines() }
for (line in lines) {
val elements = line.split(",")
for (element in elements) {
println(element)
}
}
}
出力結果
学籍番号
名前
所属学科
n20019
テスト1
TB
b20008
テスト2
UT
ファイル書き込み
Main.kt
import java.io.BufferedWriter
import java.io.FileWriter
fun main() {
val csvFilePath = "test.csv"
val students = arrayOf(arrayOf("a20098", "テスト3", "PO"),arrayOf("v20458", "テスト4", "PB"),arrayOf("m20100", "テスト5", "PO"))
BufferedWriter(FileWriter(csvFilePath, true)).use { writer ->
students.forEach { student ->
writer.write(student.joinToString(","))
writer.newLine()
}
}
}
書き込み後
学籍番号,名前,所属学科
n20019,テスト1,TB
b20008,テスト2,UT
a20098,テスト3,PO
v20458,テスト4,PB
m20100,テスト5,PO
おわりに
今回は、bufferedReader,Writerを使ってファイルの読み書きを行ってみました。Kotlinではjava.io.Fileへの拡張関数がFileReadWrite.ktで定義されているので、それを使うのも良いかもしれません。
もっとこうした方が良い!というのがあればコメントでお待ちしてます🙇
Discussion