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