版权声明:博客为作者平时学习备忘,参考资料已在文尾列出一并表示感谢。如若转载,请列明出处。 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)
}
}