博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
scala yield和文件的操作
阅读量:5019 次
发布时间:2019-06-12

本文共 863 字,大约阅读时间需要 2 分钟。

import java.io.File
import scala.io.Source
object Demo2 {
  
//  列出所有的files
  private val files = new File(".").listFiles
//  
  private def filelines(file:File) = {
//    返回的类型是::List[String]
    Source.fromFile(file).getLines().toList
  }
//  显示文件的行数
  private def showfilelines() = {
//    返回的类型是::List[String]
    var file = new File("yhq.txt")
//    读取文件的某一行
    println(Source.fromFile(file).getLines().toList(1))
  }
//  显示所有 文件夹
  def showFiles() = {
      for(file<- files)
      println(file)
  }
      
  def main(args: Array[String]): Unit = {
    showFiles()
    showfilelines()
    var lineLengths = 
      for{
//        遍历文件
        file<-files
        if file.getName.endsWith(".txt")
//      遍历所有的行
        line<-filelines(file)
//        trim返回文件的副本,忽略文件中出現的空格
        trimmedLine = line.trim
//        模糊匹配
        if trimmedLine.matches(".*棒.*")
        
      } 
//  将读取到的内容放到yield中去  
    yield line+":合计"+trimmedLine.length()+"个字"
      
      lineLengths.foreach(println)
  }
  
}

转载于:https://www.cnblogs.com/ayhq/p/5392796.html

你可能感兴趣的文章
雅尼的音乐,自己很喜欢,保存个连接。
查看>>
python中函数的默认参数陷阱问题
查看>>
如果有人问你数据库的原理,叫他看这篇文章(完)
查看>>
Redis单实例数据迁移到集群
查看>>
20169219《linux内核原理与分析》第六周作业
查看>>
java设计模式
查看>>
进阶 第二课:函数(第二节)
查看>>
python学习 流程控制语句
查看>>
如何成为优秀程序员
查看>>
DAG模型——硬币问题
查看>>
thymeleaf中的判断总结
查看>>
【原创】IE SESSION 共享问题
查看>>
smartforms和function中接口定义
查看>>
js --代理模式
查看>>
ElasticSearch学习笔记--一些规范,会持续更新
查看>>
Linux基础—saltstack运维工具学习
查看>>
详细讲解Android中的Message的源码
查看>>
ARM Linux 内核 panic 之cache 一致性 ——cci-400 cache一致互联
查看>>
bzoj 1458: 士兵占领 -- 最大流
查看>>
BZOJ2442 Usaco2011 Open修剪草坪(动态规划+单调队列)
查看>>