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

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();


  }


}
分享到:
评论

相关推荐

    解析JSON文件

    本范例是一个Scala工程,结合Java组件实现了对spark产品分析的结果json文件进行解析,将其内部的几何对象转换为记录集写入数据集里,由于Scala读写文件的效率比较高,故采用Scala与Java组件实现。

    spark-tfrecord:从Apache Spark读取和写入Tensorflow TFRecord数据

    Spark-TFRecord 一个用于从读取和写入数据的库。 该实现基于 ,但使用Spark FileFormat特征重写以提供分区功能。包括图书馆这些工件已发布到和存储库。 0.1.x版本针对Spark 2.3和Scala 2.11 0.2.x版本针对Spark 2.4...

    读取xml文件示例

    总结来说,本示例展示了如何利用C语言的xml2库读取和解析XML文件,特别是针对Servlet应用的web.xml配置文件。理解并掌握这些知识对于进行XML相关的C编程至关重要,它能帮助开发者有效地处理各种结构化的数据存储和...

    AsyncFile:一个Scala库,用于通过通用API对JVM和JavaScript(Scala.js)异步读取和写入文件。 https的镜像

    异步文件陈述AsyncFile是一个Scala库,用于使用通用API异步读取和写入文件,该通用API用于JVM和JavaScript(Scala.js)。 这是Hanns Holger Rutz撰写的(C)版权2020-2021。 版权所有。 该项目是根据v3 +,绝对没有...

    Scala的文件读写操作与正则表达式

    在Scala中,可以使用scala.io.Source对象来读取文件,该对象提供了多种方法来读取文件,例如getLines()方法可以读取文件的所有行,mkString()方法可以将文件的内容作为字符串输出。 读取文本文件 在Scala中,可以...

    scala写的第一个wordcount例子

    要读取和写入文件,我们需要使用Scala的`Source`类或者Java的`FileInputStream`、`BufferedReader`等。在这个例子中,会读取包含文本数据的文件,并将结果输出到另一个文件。 7. 类与对象: Scala是面向对象的...

    Scala第十二章节1

    `Source`虽然主要用于读取,但也可以通过`toFile()`方法将数据写入文件。例如,我们可以创建一个`String`,然后将其写入到新的文件中: ```scala val content = "这是要写入的内容" val writer = new PrintWriter...

    spark-3.2.4-bin-hadoop3.2-scala2.13 安装包

    Spark与Hadoop的集成意味着它可以读取、写入HDFS中的数据,并且可以利用YARN(Hadoop的资源调度器)进行集群资源管理。这里使用的是Hadoop 3.2版本,该版本提供了更多性能改进和新功能,如更好的资源调度策略和对大...

    scala当中的文件操作和网络请求的实现方法

    在 Scala 中,文件操作主要包括读取文件、写入文件和控制台交互操作。 1. 读取文件 Scala 提供了一个名为 `Source` 的对象,可以用来读取文件。例如,下面的代码将读取文件的每一行数据: ```scala def main(args...

    《快学Scala》完整版书籍.rar

    7. **文件和正则表达式**:Scala 提供了对文件的读写操作,如读取文件内容、写入数据、创建和删除文件。正则表达式用于文本匹配和处理,提供了丰富的模式匹配功能。 8. **特质**:特质(Trait)类似于接口,但可以...

    simplesparkavroapp:读取和写入 Avro 数据的简单 Spark 应用程序

    Spark 与 Avro 和 Parquet 随附一个简单的 Spark 应用程序,演示如何以 Parquet 和 Avro 格式读取和写入数据。 Avro 指的是二进制格式和内存中的 Java 对象表示。 Parquet 仅指一种二进制格式,它支持可插入的内存...

    scalatest_2.9.0-2.0.M5.zip

    6. `CHANGELOG`: 记录项目版本更新内容和修复的问题。 在实际应用中,CsvEngine 可能会提供如下的功能: - `@CsvFile` 注解:标记类或方法,指定要读取或写入的 csv 文件路径。 - `@CsvRow` 注解:用于表示 csv ...

    scala开发spark代码

    通过研究这些代码,你可以了解到如何在Scala中定义Spark作业,如何读取和写入数据,以及如何处理实时数据流。此外,你还可以学习到如何优化Spark应用程序,例如,通过调整配置参数以提高性能,或者使用广播变量和...

    scala编写,以spark stream方式监听消费kafka的topic,同步写入elasticsearch

    6. **部署和监控**:将Scala应用程序打包为JAR文件,提交到Spark集群运行。可以使用Spark的Web UI或第三方工具监控作业的运行状态和性能。 这个项目展示了如何利用Scala和Spark Streaming的强大功能,实现实时处理...

    基于scala语言的spark操作,包含连接操作mysql,连接hdfs.zip

    本教程将探讨如何使用 Scala 语言来操作 Spark,并介绍如何与 MySQL 数据库和 HDFS(Hadoop 分布式文件系统)进行交互。以下是相关知识点的详细说明: **1. Scala 语言基础** Scala 是一种多范式编程语言,融合了...

    flink-1.10.0-bin-scala_2.11.tgz

    `flink-1.10.0`包含这些连接器的实现,使得用户可以轻松地从各种数据源读取和写入数据。 6. **Table & SQL API**:Flink 1.10引入了Table API和SQL接口,提供了一种声明式的处理方式,简化了数据处理逻辑的编写。...

    spark core、spark sql以及spark streaming 的Scala、java项目混合框架搭建以及大数据案例

    在项目中,可能会演示如何使用Spark读取和写入HDFS上的数据,这展示了Spark与Hadoop生态系统的紧密集成。 通过这个项目,学习者可以深入理解Spark在大数据处理中的实际应用,掌握Scala和Java混合编程,以及如何利用...

    spark读取hbase数据,并使用spark sql保存到mysql

    在 Scala 代码中,你需要先引入相应的依赖,例如在 `build.sbt` 或 `pom.xml` 文件中添加: ```scala libraryDependencies += "com.hortonworks" %% "shc-core" % "1.1.1-2.1-s_2.11" // 对于 Scala 2.11 和 Spark ...

Global site tag (gtag.js) - Google Analytics