テキストファイルへの書き込み
Kotlinでテキストファイルに書き込む方法、「文字コード(SJIS、UTF8)」や「改行コード」の指定方法を紹介します。
主に、File.writeText()、BufferedWriter.appendln()、BufferedWriter.useを使った書き込み方法の紹介となります。
主に、File.writeText()、BufferedWriter.appendln()、BufferedWriter.useを使った書き込み方法の紹介となります。
[Kotlin]に戻る
[記事の先頭]
File.writerText() でテキストファイルへの書き込み。
File.writerText()を使うと、文字列をテキストファイルに書き込むことができます。
なお、macOSでしか試していませんが、書き込む文字列に含まれている改行コードがそのまま出力されるようです。
\r\nの改行コードは、CRLFとして出力されます。
\nの改行コードは、LFとして出力されます。
\rの改行コードは、CRとして出力されます。
文字コードをUTF8、改行コードをLFにして、出力するサンプル。
var text = ""
text = text + "うさぎの種類\n"
text = text + "・ネザーランド・ドワーフ\n"
text = text + "・ホーランド・ロップ\n"
val file = File(filePath)
file.writeText(text)文字コードをSJIS、改行コードをCRLFにして、出力するサンプル。
var text = ""
text = text + "うさぎの種類\r\n"
text = text + "・ネザーランド・ドワーフ\r\n"
text = text + "・ホーランド・ロップ\r\r"
val file = File(filePath)
file.writeText(text, Charset.forName("MS932"))
[記事の先頭]
BufferedWriter.appendln()でテキストファイルへの書き込み。
BufferedWriter.appendln()を使うと、文字列をテキストファイルに書き込むことができます。
macOSでしか試していませんが、改行コードはLFとして出力されるようです。
なお、BufferedWriterのclose()を呼び出す必要があるので、忘れないように注意してください。
UTF8のファイルとして書き込むサンプル
val file = File(filePath)
val bufferedWriter = file.bufferedWriter()
bufferedWriter.appendln("うさぎの種類")
bufferedWriter.appendln("・ネザーランド・ドワーフ")
bufferedWriter.appendln("・ホーランド・ロップ")
bufferedWriter.close()SJISのファイルとして書き込むサンプル
val file = File(filePath)
val bufferedWriter = file.bufferedWriter(Charset.forName("MS932"))
bufferedWriter.appendln("うさぎの種類")
bufferedWriter.appendln("・ネザーランド・ドワーフ")
bufferedWriter.appendln("・ホーランド・ロップ")
bufferedWriter.close()
[記事の先頭]
BufferedWriter.useでテキストファイルへの書き込み。
そんな時は、BufferedWriter.useを使い、テキストファイルに書き込むサンプルを紹介します。
なお、BufferedWriter.useを使っているため、BufferedWriterのclose()を呼び出す必要はありません。
UTF8のファイルとして書き込むサンプル
val file = File(filePath)
val bufferedWriter = file.bufferedWriter()
val result = bufferedWriter.use {
it.appendln("うさぎの種類")
it.appendln("・ネザーランド・ドワーフ")
it.appendln("・ホーランド・ロップ")
// kotlin.Unit型を返すことになっているため、今回は成功の「true」を返す。
true
}
println("result : $result")SJISのファイルとして書き込むサンプル
val file = File(filePath)
val bufferedWriter = file.bufferedWriter(Charset.forName("MS932"))
val result = bufferedWriter.use {
it.appendln("うさぎの種類")
it.appendln("・ネザーランド・ドワーフ")
it.appendln("・ホーランド・ロップ")
// kotlin.Unit型を返すことになっているため、今回は成功の「true」を返す。
true
}
println("result : $result")
[記事の先頭]
BufferedWriter.useで改行をCRLFにしてテキストファイルに書き込む。
BufferedWriter.appendln()でファイルに書き込むと改行コードがLFとなってしまうので、
BufferedWriter.append()を使い、改行コードをCRLFにして出力する方法を紹介します。
改行コードをCRLFにして出力するサンプル
val file = File(filePath)
val bufferedWriter = file.bufferedWriter()
val result = bufferedWriter.use {
it.append("Rabbit type")
it.append("\r\n")
it.append("- Netherland Dwarf")
it.append("\r\n")
it.append("- Holland Lop")
it.append("\r\n")
// kotlin.Unit型を返すことになっているため、今回は成功の「true」を返す。
true
}
println("result : $result")
[記事の先頭]
関連記事
[記事の先頭]
[Kotlin]に戻る
