话谈scala的参数解析

版权声明:博客为作者平时学习备忘,参考资料已在文尾列出一并表示感谢。如若转载,请列明出处。 https://blog.csdn.net/woai8339/article/details/82813869

args大家都知道,是一个传参,那我们如果设定了输入参数是一个Array[String],在scala中如何读取迭代呢?
1、读取来说,我们需要借助于import scala.io.Source来打开文件,Source.fromFile(args(0))尝试打开文件,返回的是Source对象。如果借助于Java的File函数也可以。之后调用getLines函数返回是一个Iterator[String]。该Iterator[String]是一个枚举器,一旦枚举完就失效了,故而如果说随时使用,我们可以写成Source.fromFile(args(0)).getLines.toList将其转化成列表存储在内存中。

import scala.io.Source

object P12{
  def getDataFromTextFile(args:Array[String]):Unit={
    if (args.length > 0){
      for (line <- Source.fromFile(args(0)).getLines){
          println(line.length + ":" + line)
      }
    }
    else
      Console.err.println("Please enter a filename")
  }

  def main(args: Array[String]): Unit = {
    val args_string:Array[String] = new Array[String](2)
    args_string(0) = "C:\\Users\\Desktop\\SparkLearning\\src\\main\\scala\\data.txt"
    args_string(1) = "HelloWorld"
    getDataFromTextFile(args_string)
  }

}

猜你喜欢

转载自blog.csdn.net/woai8339/article/details/82813869