直接看如下代码:
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();
}
}
分享到:
相关推荐
本范例是一个Scala工程,结合Java组件实现了对spark产品分析的结果json文件进行解析,将其内部的几何对象转换为记录集写入数据集里,由于Scala读写文件的效率比较高,故采用Scala与Java组件实现。
总结来说,本示例展示了如何利用C语言的xml2库读取和解析XML文件,特别是针对Servlet应用的web.xml配置文件。理解并掌握这些知识对于进行XML相关的C编程至关重要,它能帮助开发者有效地处理各种结构化的数据存储和...
Spark-TFRecord 一个用于从读取和写入数据的库。 该实现基于 ,但使用Spark FileFormat特征重写以提供分区功能。包括图书馆这些工件已发布到和存储库。 0.1.x版本针对Spark 2.3和Scala 2.11 0.2.x版本针对Spark 2.4...
异步文件陈述AsyncFile是一个Scala库,用于使用通用API异步读取和写入文件,该通用API用于JVM和JavaScript(Scala.js)。 这是Hanns Holger Rutz撰写的(C)版权2020-2021。 版权所有。 该项目是根据v3 +,绝对没有...
在Scala中,可以使用scala.io.Source对象来读取文件,该对象提供了多种方法来读取文件,例如getLines()方法可以读取文件的所有行,mkString()方法可以将文件的内容作为字符串输出。 读取文本文件 在Scala中,可以...
要读取和写入文件,我们需要使用Scala的`Source`类或者Java的`FileInputStream`、`BufferedReader`等。在这个例子中,会读取包含文本数据的文件,并将结果输出到另一个文件。 7. 类与对象: Scala是面向对象的...
`Source`虽然主要用于读取,但也可以通过`toFile()`方法将数据写入文件。例如,我们可以创建一个`String`,然后将其写入到新的文件中: ```scala val content = "这是要写入的内容" val writer = new PrintWriter...
Spark与Hadoop的集成意味着它可以读取、写入HDFS中的数据,并且可以利用YARN(Hadoop的资源调度器)进行集群资源管理。这里使用的是Hadoop 3.2版本,该版本提供了更多性能改进和新功能,如更好的资源调度策略和对大...
在 Scala 中,文件操作主要包括读取文件、写入文件和控制台交互操作。 1. 读取文件 Scala 提供了一个名为 `Source` 的对象,可以用来读取文件。例如,下面的代码将读取文件的每一行数据: ```scala def main(args...
7. **文件和正则表达式**:Scala 提供了对文件的读写操作,如读取文件内容、写入数据、创建和删除文件。正则表达式用于文本匹配和处理,提供了丰富的模式匹配功能。 8. **特质**:特质(Trait)类似于接口,但可以...
Spark 与 Avro 和 Parquet 随附一个简单的 Spark 应用程序,演示如何以 Parquet 和 Avro 格式读取和写入数据。 Avro 指的是二进制格式和内存中的 Java 对象表示。 Parquet 仅指一种二进制格式,它支持可插入的内存...
6. `CHANGELOG`: 记录项目版本更新内容和修复的问题。 在实际应用中,CsvEngine 可能会提供如下的功能: - `@CsvFile` 注解:标记类或方法,指定要读取或写入的 csv 文件路径。 - `@CsvRow` 注解:用于表示 csv ...
通过研究这些代码,你可以了解到如何在Scala中定义Spark作业,如何读取和写入数据,以及如何处理实时数据流。此外,你还可以学习到如何优化Spark应用程序,例如,通过调整配置参数以提高性能,或者使用广播变量和...
6. **部署和监控**:将Scala应用程序打包为JAR文件,提交到Spark集群运行。可以使用Spark的Web UI或第三方工具监控作业的运行状态和性能。 这个项目展示了如何利用Scala和Spark Streaming的强大功能,实现实时处理...
本教程将探讨如何使用 Scala 语言来操作 Spark,并介绍如何与 MySQL 数据库和 HDFS(Hadoop 分布式文件系统)进行交互。以下是相关知识点的详细说明: **1. Scala 语言基础** Scala 是一种多范式编程语言,融合了...
`flink-1.10.0`包含这些连接器的实现,使得用户可以轻松地从各种数据源读取和写入数据。 6. **Table & SQL API**:Flink 1.10引入了Table API和SQL接口,提供了一种声明式的处理方式,简化了数据处理逻辑的编写。...
在项目中,可能会演示如何使用Spark读取和写入HDFS上的数据,这展示了Spark与Hadoop生态系统的紧密集成。 通过这个项目,学习者可以深入理解Spark在大数据处理中的实际应用,掌握Scala和Java混合编程,以及如何利用...
在 Scala 代码中,你需要先引入相应的依赖,例如在 `build.sbt` 或 `pom.xml` 文件中添加: ```scala libraryDependencies += "com.hortonworks" %% "shc-core" % "1.1.1-2.1-s_2.11" // 对于 Scala 2.11 和 Spark ...