初入Scala -> 加载文件夹数据并写入

  • Post author:
  • Post category:其他




Scala->加载文件夹数据

object My_Load_Files {


def main(args: Array[String]): Unit = {

				    val fronfile = new File("D:\\workspace03\\Files")	
				    val files: Array[File] = fronfile.listFiles()
				    val writer = new PrintWriter("D:\\workspace03\\FileOutput\\file1")

				    //todo 注意 :  .toBuffer 不能放在 .groupBy  前

				    println(files.map(file => Source.fromFile(file).getLines().toList).toBuffer)
				    //println("list(3个文件) 获取每行数据 为一个参数 转list ")
				   
				    println(files.map(file => Source.fromFile(file).getLines().toList.flatMap(_.split(" ")).map((_, 1))).toBuffer)
				    println("  按空格切割 成 个个 参数 ; 之后 计数 ;  map((_,1)) 将 -参数-  '_' 转为  -,1-")
				   
				    println(files.map(file => Source.fromFile(file).getLines().toList.flatMap(_.split(" ")).map((_, 1)).groupBy(_._1)).toBuffer)
				   // println("分组, 按每个参数' _ '的 第一位 分组  me 里 有 -> ( 什么,什么,...)")
				    
				    println(files.map(file=>Source.fromFile(file).getLines().toList.flatMap(_.split(" ")).map((_,1)).groupBy(_._1)
				    	.mapValues(_.length)).toBuffer)
				   // println("映射值,理解为修改 values ; 将 每个键值对 以长度计数 ->   相当于 将 list 集合 参数 释放出来 求 分组中 个数")
				    
				    println(files.map(file=>Source.fromFile(file).getLines().toList.flatMap(_.split(" ")).map((_,1)).groupBy(_._1)
				    	.mapValues(_.length)).flatten.toBuffer)
				    //println("将 数据 扁平化, 将 Array(Map()) 数组 转为 Array() 数组,")
				    
				    println(files.map(file=>Source.fromFile(file).getLines().toList.flatMap(_.split(" ")).map((_,1)).groupBy(_._1)
				    	.mapValues(_.length)).toBuffer.flatten.groupBy(_._1))
				    //println("在 进行分组 ")
				    
				    println(files.map(file=>Source.fromFile(file).getLines().toList.flatMap(_.split(" ")).map((_,1)).groupBy(_._1)
				    	.mapValues(_.length)).flatten
				      .groupBy(_._1).mapValues(_.map(_._2)sum).toBuffer)
				   // println("此时在进行 聚合; 这时候不能按照长度求和,因为之前按照长度已经有确定的数值,此时用 sum 相加就可以了")
				    
				    
				    	// 一行代码: 
				    files.map(file=>Source.fromFile(file).getLines().toList.flatMap(_.split(" ")).map((_,1)).groupBy(_._1)
				      .mapValues(_.length)).toBuffer.flatten
				      .groupBy(_._1).mapValues(_.map(_._2)sum)
				      .foreach(writer.println)
				   

				    writer.close()
				  }
				}



版权声明:本文为qq_41776659原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。