1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| import java.io.{BufferedReader, BufferedWriter, FileReader, FileWriter}
def withFileWriter(filename: String) (handler: BufferedWriter => Unit): Unit = {
val writer = new BufferedWriter(new FileWriter(filename))
try handler(writer)
finally writer.close()
}
def withFileReader(filename: String) (handler: BufferedReader => Unit): Unit = {
val reader = new BufferedReader(new FileReader(filename))
try handler(reader)
finally reader.close()
}
withFileWriter("Hello.txt") {
writer => { writer.write("Hello\n"); writer.write("World!") }
}
var result: String = ""
withFileReader("Hello.txt") {
reader => { result = reader.readLine() + "\n" + reader.readLine() }
}
assert(result == "Hello\nWorld!")
|