`
qindongliang1922
  • 浏览: 2147559 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:116328
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:124593
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:58457
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:70354
社区版块
存档分类
最新评论

scala如何读取和写入文件内容?

阅读更多
直接看如下代码:
package file

import java.io.RandomAccessFile
import java.nio.charset.Charset

import scala.io.Source
import scala.reflect.io.{File, Path}

/**
 * Created by qindongliang on 2015/7/17.
 */
object FileOpera {


  def main(args: Array[String]) {

    val file_path="D:\\tmp\\csv\\synonyms.txt";//生成文件数据路径
//    val file_path="D:\\tmp\\csv\\1";//生成文件数据路径
    val path:Path = Path(file_path)//得到一个Path
    if(path.exists){//判断是否存在
      path.deleteRecursively()//递归删除,无论是目录还是文件
      println("存在此文件,已经删除!")
    }else{
      println("文件不存在,开始生成.....!")
    }
      val raf=new RandomAccessFile(file_path,"rw")//组合java的流
      val file=Source.fromFile("D:\\tmp\\csv\\sdata.txt");//读取一个文件
      for( line <- file.getLines() ){//遍历每一行内容
        val num=line.trim.split(",").length;//根据逗号拆分后的数组长度
        if(num==1){
//          println(line);
        }else{
          if(line.trim.endsWith(",")){
            val  data=new StringBuilder(line.trim).deleteCharAt(line.trim.length-1).append("\n").toString().replace("#","");
            raf.write(data.getBytes(Charset.forName("UTF-8")))
          }
        }
      }

      //读取流关闭
      file.close();
      //写入流关闭
      raf.close();


  }


}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics