Scala 中的文件目录操作

1. scala中读取csv文件,并且去掉文件中的第一行标题,如下:

for(line <- fileSource.getLines.drop(1)){

//

2. scala中将字符串伪装为文件

由于Scala.fromFile和Scala.fromString继承自scala.io.Source,所以他们相互之间很好转换。只要方法接受一个Source参数,便可以调用Source.fromFile获得BufferedSource,或者用Source.fromString获得Source实例,传递给方法。

3. scala中的序列化,继承Serializable特质并且把@SerialVersionUID标注到类上:

@SerialVersionUID(99L) class TestSpark(val name: String) extends Serializable
        object FileTest extends App {
        //
        }
4.scala列出目录中的文件,scala不提供任何特殊的操作目录的方法,所以使用java File类的listFiles方法。
  1. //遍历某目录下所有的子目录  
  2. import java.io.PrintWriter  
  3. import java.io.File  
  4. import scala.reflect.io.Directory  
  5.   
  6. object HelloWord{  
  7.   def main(args:Array[String]):Unit = {  
  8.       for(d <- subDir(new File("d:\\AAA\\")))  
  9.         println(d)  
  10.   }  
  11.    
  12.   def subDir(dir:File):Iterator[File] ={  
  13.     val children = dir.listFiles().filter(_.isDirectory())  
  14.     children.toIterator ++ children.toIterator.flatMap(subDir _)  
  15.   }  
  16. }  
  17.   
  18. //遍历某目录下所有的文件和子文件  
  19.   def main(args:Array[String]):Unit = {  
  20.       for(d <- subDir(new File("d:\\AAA\\")))  
  21.         println(d)  
  22.   }  
  23.    
  24.   def subDir(dir:File):Iterator[File] ={  
  25.     val dirs = dir.listFiles().filter(_.isDirectory())  
  26.     val files = dir.listFiles().filter(_.isFile())  
  27.     files.toIterator ++ dirs.toIterator.flatMap(subDir _)  
  28.   } 

你可能感兴趣的:(Scala语言)