package level02
import java.io.FileWriter
import scala.util.Using
object class11 {
// trait 用抽象val定义文件名,由子类实现
trait FileLogger {
protected val filename: String
def writeLog(msg: String): Unit = {
// Using自动关闭资源,处理IO异常
Using(new FileWriter(filename, true)) { writer =>
writer.write(msg)
}.getOrElse(throw new Exception("写日志失败"))
}
}
class MyFileLogger extends FileLogger {
override val filename: String = "1126.log"
}
def main(args: Array[String]): Unit = {
val fileLogger = new MyFileLogger()
fileLogger.writeLog("今天上scala课程")
}
}