From c9ddea6d030b257551d06400fbf17bf902768bf0 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Mon, 21 Dec 2015 18:30:42 +0300 Subject: [PATCH] Breaking: File.(buffered)reader/writer now returns less specific InputStreamReader/OutputStreamReader and use UTF-8 encoding by default, allowing to specify different encoding with optional parameter. File.printWriter supports specifying Charset and uses UTF-8 by default. #KT-10454 Fixed --- libraries/stdlib/src/kotlin/io/FileReadWrite.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/stdlib/src/kotlin/io/FileReadWrite.kt b/libraries/stdlib/src/kotlin/io/FileReadWrite.kt index fd4066a633b..b9cb110b25f 100644 --- a/libraries/stdlib/src/kotlin/io/FileReadWrite.kt +++ b/libraries/stdlib/src/kotlin/io/FileReadWrite.kt @@ -11,31 +11,31 @@ import java.nio.charset.Charset /** * Returns a new [FileReader] for reading the content of this file. */ -public fun File.reader(): FileReader = FileReader(this) +public fun File.reader(charset: Charset = Charsets.UTF_8): InputStreamReader = inputStream().reader(charset) /** * Returns a new [BufferedReader] for reading the content of this file. * * @param bufferSize necessary size of the buffer. */ -public fun File.bufferedReader(bufferSize: Int = defaultBufferSize): BufferedReader = reader().buffered(bufferSize) +public fun File.bufferedReader(charset: Charset = Charsets.UTF_8, bufferSize: Int = DEFAULT_BUFFER_SIZE): BufferedReader = reader(charset).buffered(bufferSize) /** * Returns a new [FileWriter] for writing the content of this file. */ -public fun File.writer(): FileWriter = FileWriter(this) +public fun File.writer(charset: Charset = Charsets.UTF_8): OutputStreamWriter = outputStream().writer(charset) /** * Returns a new [BufferedWriter] for writing the content of this file. * * @param bufferSize necessary size of the buffer. */ -public fun File.bufferedWriter(bufferSize: Int = defaultBufferSize): BufferedWriter = writer().buffered(bufferSize) +public fun File.bufferedWriter(charset: Charset = Charsets.UTF_8, bufferSize: Int = DEFAULT_BUFFER_SIZE): BufferedWriter = writer(charset).buffered(bufferSize) /** * Returns a new [PrintWriter] for writing the content of this file. */ -public fun File.printWriter(): PrintWriter = PrintWriter(bufferedWriter()) +public fun File.printWriter(charset: Charset = Charsets.UTF_8): PrintWriter = PrintWriter(bufferedWriter(charset)) /** * Gets the entire content of this file as a byte array.