直接看如下代码:
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组件实现。
Spark-TFRecord 一个用于从读取和写入数据的库。 该实现基于 ,但使用Spark FileFormat特征重写以提供分区功能。包括图书馆这些工件已发布到和存储库。 0.1.x版本针对Spark 2.3和Scala 2.11 0.2.x版本针对Spark 2.4...
主要介绍了Scala之文件读取、写入、控制台操作的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
异步文件陈述AsyncFile是一个Scala库,用于使用通用API异步读取和写入文件,该通用API用于JVM和JavaScript(Scala.js)。 这是Hanns Holger Rutz撰写的(C)版权2020-2021。 版权所有。 该项目是根据v3 +,绝对没有...
Spark 与 Avro 和 Parquet 随附一个简单的 Spark 应用程序,演示如何以 Parquet 和 Avro 格式读取和写入数据。 Avro 指的是二进制格式和内存中的 Java 对象表示。 Parquet 仅指一种二进制格式,它支持可插入的内存...
3.5.2 读取文本文件中的行 四、控制结构 4.1 if条件表达式 4.2 while循环 4.3 for循环 4.3.1 实例 4.3.2 for推导式 五、 数据结构 5.1 数组 5.2 列表(List) 5.3 元组(Tuple) 5.4 集(Set) 5.5 映射(Map) 5.6 迭代器...
从HBase表读取并写入HBase表的简单Spark Streaming项目 #Prereqs运行 创建一个要写入的hbase表:a)启动hbase shell $ hbase shell b)创建表create'/ user / chanumolu / sensor',{NAME =>'data'},{NAME =>'...
9.6 写入文本文件 124 9.7 访问目录 125 9.8 序列化 125 9.9 进程控制 A2126 9.10 正则表达式 129 9.11 正则表达式组 130 练习 131 第10章 特质 A1135 10.1 为什么没有多重继承 135 10.2 当作接口使用的...
#产品系列 快速开始 使用SBT: libraryDependencies += ... 数据组件提供了逻辑上一致的范例,以取代凌乱且不完整的zip3和unzip3 scala构造,并以1至22的方式工作。 从1.3.0版开始
CsvEngine.zip,基于注释的框架,用于读取和写入csv文件。这是一个基于注释的小型框架,用于分析和写入csv文件。
flink-connector-hive_2.12-1.13.1.jar 是 Apache Flink 的一个 Hive 连接器 JAR 包,用于在 Flink 中与 Apache Hive 集成。这里面的数字 2.12 和 1.13.1 分别表示了这个 JAR 包所依赖的 Scala 和...数据读取和写入:Fl
拉塔工具 随机数据采样和生成的工具产品特点生成器( Gen[T] ),用于对scala案例类, ,, 进行基于属性的测试用于在Avro, (通过Avro GenericRecord),BigQuery和TableRow JSON文件中读取和写入记录的实用程序。...
在本篇文章中你将会学习并了解常用的文件处理任务,例如读取文件的一行文本,本博客的要点包含: 1.Source.fromFile(…).getLines.toArray 输出文件所有行 2.Source.fromFile(…).mkString 以字符串...
AudioFile.zip,用于读取和写入未压缩音频文件(aiff、wave等)的库scala的音频文件库。https://git.iem.at/sciss/audiofile镜像
两种东西,其一是IBM微软数据产品为代表的,其二是Hadoop+Hive+Apache Hive数据仓库软件有助于使用SQL读取,写入和管理驻留在分布式存储中的大型数据集。 可以将结构投影到已经存储的数据上。 提供了命令行工具和...
这个库的目标是尽可能少地包装现有的 java io 功能,并提供一个愉快的、高级的界面来从文件(而不仅仅是字符串)读取和写入数据。 地位 目前,这绝对是比现实更多的愿景。 路径 DSL 上的大量实现存在混乱, so....
在批处理模式下,它从文件(或Google Cloud Storage对象)读取请求,并将输出写入一个或多个文件(或Google Storage对象)。 作为Web服务,请求通过HTTP POST提交,输出作为响应发送回。 默认情况下,服务器希望在/...
Spark和Hadoop的比较 MapReduce Spark 数据存储结构:磁盘HDFS文件系统的split 使用内存构建弹性分布式数据集RDD,对数据进行运算和cache 编程范式:Map+Reduce DAG:Transformation+Action 计算中间结果...
用python读取大文件本来是第一个三部分案例研究(至今已扩展为5个部分)的第一部分是使用C,Python,PYSPARK,Spark-Scala和Athena / Glue读取大型(21GB)文本文件。 您可以在这里看到其他部分:这部分处理使用C和...
GeoTrellis是一个Scala库和框架,提供用于读取,写入和操作地理空间栅格和矢量数据的API。 GeoTrellis还为Spark中的这些相同操作以及在栅格上执行操作提供帮助。 它是根据Apache 2许可证发行的。 请访问以获取更多...