Skip to content

Commit 2a61d64

Browse files
Merge pull request eugenp#4029 from theawesomenayak/BAEL-1675
[BAEL-1675] Write to a File in Kotlin
2 parents e22750f + c2d89c8 commit 2a61d64

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.baeldung.filesystem
2+
3+
import java.io.File
4+
5+
class FileWriter {
6+
7+
fun writeFileUsingPrintWriter(fileName: String, fileContent: String) =
8+
File(fileName).printWriter().use { out -> out.print(fileContent) }
9+
10+
fun writeFileUsingBufferedWriter(fileName: String, fileContent: String) =
11+
File(fileName).bufferedWriter().use { out -> out.write(fileContent) }
12+
13+
fun writeFileDirectly(fileName: String, fileContent: String) =
14+
File(fileName).writeText(fileContent)
15+
16+
fun writeFileDirectlyAsBytes(fileName: String, fileContent: String) =
17+
File(fileName).writeBytes(fileContent.toByteArray())
18+
19+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.baeldung.filesystem
2+
3+
import org.junit.jupiter.api.Test
4+
import java.io.File
5+
import kotlin.test.assertEquals
6+
7+
internal class FileWriterTest {
8+
9+
private val fileName = "src/test/resources/Kotlin.out"
10+
11+
private val fileContent = "Kotlin\nConcise, Safe, Interoperable, Tool-friendly"
12+
13+
private val fileWriter = FileWriter()
14+
15+
@Test
16+
fun whenWrittenWithPrintWriter_thenCorrect() {
17+
fileWriter.writeFileUsingPrintWriter(fileName, fileContent)
18+
19+
assertEquals(fileContent, File(fileName).readText())
20+
}
21+
22+
@Test
23+
fun whenWrittenWithBufferedWriter_thenCorrect() {
24+
fileWriter.writeFileUsingBufferedWriter(fileName, fileContent)
25+
26+
assertEquals(fileContent, File(fileName).readText())
27+
}
28+
29+
@Test
30+
fun whenWrittenDirectly_thenCorrect() {
31+
fileWriter.writeFileDirectly(fileName, fileContent)
32+
33+
assertEquals(fileContent, File(fileName).readText())
34+
}
35+
36+
@Test
37+
fun whenWrittenDirectlyAsBytes_thenCorrect() {
38+
fileWriter.writeFileDirectlyAsBytes(fileName, fileContent)
39+
40+
assertEquals(fileContent, File(fileName).readText())
41+
}
42+
43+
}

0 commit comments

Comments
 (0)