Kotlin テキストファイルの読み書き

Kotlinのテキストファイルを読み書きするサンプルです。

目次

サンプル 読み込む(readAllLines)
  書き込む(write)

読み込む(readAllLines)

public static List<String> readAllLines(Path path, Charset cs) throws IOException

テキストファイルを読み1行ずつ表示するサンプルです。

import java.io.IOException
import java.nio.file.Files
import java.nio.charset.Charset
import java.nio.file.Paths

fun main() {
//    val path1 = Paths.get("D:\\Test3", "test1.txt")
    val path1 = Paths.get("D:\\Test3\\test1.txt")

//    val charset = Charset.forName("MS932")
    val charset = Charset.forName("UTF-8") //文字コード

    try {
        val line = Files.readAllLines(path1, charset)
        for (s in line) {
            println(s)
        }
    } catch (e: IOException) {
        e.printStackTrace()
    }
}

7,8行目は、getメソッドで読み込むファイルを指定しPathオブジェクトを取得しています。
7行目は引数が2つで8行目は引数が1つです。どちらでも可能です。

10,11行目は、forNameメソッドで文字コードを指定しています。MS932≒shift_jisです。

14行目は、FilesクラスのreadAllLinesメソッドでファイルを読み込んでいます。
引数は、パスと文字コードです。

 

書き込む(write)

public static Path write(Path path, Iterable<? extends CharSequence> lines,
Charset cs, OpenOption... options) throws IOException

テキストファイルに書き込むサンプルです。

import java.io.IOException
import java.nio.file.Files
import java.nio.charset.Charset
import java.nio.file.Paths
import java.nio.file.StandardOpenOption
import java.util.ArrayList

fun main() {
//    val path1 = Paths.get("D:\\Test3", "test1.txt")
    val path1 = Paths.get("D:\\Test3\\test1.txt") //パス

//    val charset = Charset.forName("MS932")
    val charset = Charset.forName("UTF-8") //文字コード

    val list: List<String> = ArrayList(listOf("赤", "黄", "青"))

    try {
        Files.write(
            path1, list, charset,
            StandardOpenOption.TRUNCATE_EXISTING
        )
    } catch (e: IOException) {
        e.printStackTrace()
    }
}

9,10行目は、getメソッドで書き込むファイルを指定しPathオブジェクトを取得しています。
9行目は引数が2つで10行目は引数が1つです。どちらでも可能です。

12,13行目は、forNameメソッドで文字コードを指定しています。MS932≒shift_jisです。

15行目は、リストです。ファイルに書き込む内容です。
18行目は、writeメソッドです。StandardOpenOption.TRUNCATE_EXISTINGで新規書き込みを指定しています。
StandardOpenOption.APPENDにすると追記書き込みになります。

関連の記事

Kotlin ListとMutableListのサンプル

△上に戻る