图书展示功能2

复制代码
package dao

import models.BookModel

import scala.collection.mutable.ListBuffer

class BookDAO {
  //加载图书。从文件中读入
  def loadBooks():List[BookModel]={
    val books =new ListBuffer[BookModel]()
  val  source= scala.io.Source.fromFile("books.txt")
    for(line <-source.getLines()){
      val Array(id, name, author, available) = line.split(",")
      // 实例化一本书,保存到List
      books += BookModel(id.toInt, name, author, available.toBoolean)
    }
    // 关闭连接
    source.close()
    books
  }

  // 保存图书。将图书写入文件
  def saveBooks(books: ListBuffer[BookModel]): Unit = {
    val writer = new java.io.PrintWriter(new java.io.File("books.txt"))
    for (book <- books) {
      writer.println(book.id + "," + book.name + "," + book.author + "," + book.available)
    }
    writer.close()
    }

}
相关推荐
starzy19904 天前
深入理解Scala高阶函数:函数式编程核心
开发语言·scala
starzy19905 天前
深入理解Scala嵌套函数:作用域封装之道
开发语言·scala
starzy19906 天前
深入理解Scala匿名函数:函数式编程基石
开发语言·scala
starzy19906 天前
深入理解Scala函数定义:从方法到函数的类型跨越
开发语言·scala
starzy19906 天前
深入理解Scala递归函数:从栈溢出到尾调用优化
开发语言·scala
starzy19908 天前
深入理解Scala可变Map:动态构建场景下的性能与设计权衡
开发语言·scala
starzy19909 天前
深入理解Scala Map:从实现原理到工程实践
开发语言·后端·scala
starzy19909 天前
Scala 可变 Set 操作:从性能问题到最佳实践
大数据·scala
starzy199011 天前
Scala Set深度解析:为什么大数据开发离不开它?
大数据·开发语言·scala
starzy199012 天前
Scala List操作:不可变链表的函数式美学
链表·list·scala