【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!

[返回Spark教程首页]

现在如何写入文本文件,以及如何读取文本文件。读写其他格式文件,可以参考其他网络资料自学。

写入文本文件

Scala需要使用java.io.PrintWriter实现把数据写入到文本文件。

假设当前正使用用户名hadoop登录Linux系统,打开Scala解释器进入命令提示符状态后,输入以下代码:

scala> import java.io.PrintWriter

import java.io.PrintWriter //这行是Scala解释器执行上面语句后返回的结果

scala> val out = new PrintWriter("output.txt")

out: java.io.PrintWriter = java.io.PrintWriter@25641d39 //这行是Scala解释器执行上面语句后返回的结果

scala> for (i

scala> out.close()

上面代码中,new PrintWriter(“output.txt”)中只给出了文件名,并没有给出文件路径,采用相对路径,这时,文件就会被保存到启动Scala REPL时的当前目录下。比如,如果我们是进入“/home/hadoop”用户目录,在这个目录下启动进入了Scala REPL交互式执行环境,则上面代码执行结束后,可以在hadoop用户的工作目录“/home/hadoop/”下找到新生成的这个output.txt文件。为了查看这个文件,我们可以在当前“终端”窗口的基础上,再新建一个终端窗口,你可以在当前终端窗口的左上角看到一个菜单,点击“终端”,选择“新建终端”,就可以打开第二个命令行终端窗口(用来查看文件)。

现在,让我们切换到第二个终端窗口,然后,输入下面命令进入到hadoop用户的工作目录,并显示该目录下的所有文件和文件夹信息:

cd ~

ls

“~”就表示当前用户的工作目录,对于hadoop用户而言,就是“/home/hadoop/”目录。

上面命令执行后,就可以发现,“/home/hadoop/”目录下有个新生成的这个output.txt文件,下面使用cat命令查看该文件内容:

cat output.txt

需要注意的是,必须要执行out.close()语句,才会看到output.txt文件被生成,如果没有执行out.close()语句,我们就无法看到生成的output.txt文件。

如果我们想把文件保存到一个指定的目录下,就需要给出文件路径,代码如下:

scala> import java.io.PrintWriter

import java.io.PrintWriter //这行是Scala解释器执行上面语句后返回的结果

scala> val out = new PrintWriter("/usr/local/scala/mycode/output.txt")

out: java.io.PrintWriter = java.io.PrintWriter@25641d39 //这行是Scala解释器执行上面语句后返回的结果

scala> for (i

scala> out.close()

上述过程执行结束后,就可以到“/usr/local/scala/mycode/”这个目录下找到output.txt文件。

读取文本文件中的行

可以使用Scala.io.Source的getLines方法实现对文件中所有行的读取。

仍然假设当前是用hadoop用户登录了Linux系统,并且使用scala命令启动了Scala解释器,现在,我们要把上面刚生成的、在hadoop用户工作目录下的output.txt文件读取出来,下面给出了完整的读取文件实例代码:

scala> import scala.io.Source

import scala.io.Source //这行是Scala解释器执行上面语句后返回的结果

scala> val inputFile = Source.fromFile("output.txt")

inputFile: scala.io.BufferedSource = non-empty iterator //这行是Scala解释器执行上面语句后返回的结果

scala> val lines = inputFile.getLines //返回的结果是一个迭代器

lines: Iterator[String] = non-empty iterator //这行是Scala解释器执行上面语句后返回的结果

scala> for (line

1

2

3

4

5

scala写入mysql_Scala:读写文件相关推荐

  1. python将txt写入excel_Python读写文件(csv、txt、excel)

    大家做在数据处理的时候,肯定难免会与文件交互,那么对于指定的文件类型,我们如何操作呢? 1.python读写csv文件 import csv #python2可以用file替代open with op ...

  2. c/c++读取txt文件中指定行的内容_和尧名大叔一起从0开始学Python编程-简单读写文件

    0基础自学编程是很痛苦的一件事情,所以我想把自己学习的这个过程记录下来,让想学编程的人少走弯路,大叔文化程度较低,可能会犯一些错误,欢迎大家督促我. 今天,我们来学习一下用Python简单读写文件,这 ...

  3. 4 读写文件_和尧名大叔一起从0开始学Python编程-简单读写文件

    0基础自学编程是很痛苦的一件事情,所以我想把自己学习的这个过程记录下来,让想学编程的人少走弯路,大叔文化程度较低,可能会犯一些错误,欢迎大家督促我. 今天,我们来学习一下用Python简单读写文件,这 ...

  4. c语言格式化写入文件大小,利用C语言格式化读写文件

    "在C语言中进行格式化读写文件"按照字面意思通常大家都会理解为将读写文件进行格式化的操作,那么到底我们是不是真的将读写文件进行格式化的操作呢?下面课课家笔者就为大家简单介绍C语言中 ...

  5. python创建csv文件并写入-Python 读写 CSV

    Python 读写 CSV 文件最简单的方法是使用自带的 csv 库,复杂点的可以使用 pandas.今天老唐简单记录一下使用自带的 csv 库怎么进行 Python 的文件读写操作,主要包括新建文件 ...

  6. python怎么读write_Python如何读写文件?python写入文件读写操作详解

    Python文件的打开或创建可以使用函数open().该函数可以指定处理模式,设置打开的文件为只读.只写或可读写状态.open()的声明如下所示. open(file, mode='r', buffe ...

  7. python怎么读写文件-怎么用python读取和写入TIFF文件1

    Python读写文件 1.open 使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open( ...

  8. scala 写入文件_Scala文件IO –写入文件,读取文件

    scala 写入文件 Today we will look into Scala File IO operations. File operations mainly include reading ...

  9. C语言文件读写操作,写入数据到文件

    很早写的在linux系统下的文件读写操作,写入数据到文件,很时候初学者学习 #include <stdio.h>int writeInfoToFile(char *strFile) {in ...

最新文章

  1. 服务器计费系统安卓,GitHub - NWAFU/dms_client: 服务器计费系统(客户机端):用于统计租户的服务器使用情况...
  2. React 项目中使用Echarts
  3. openstack下
  4. how long does it take for 10km by bike?
  5. docker mysql.sock,Docker mysql主从配置
  6. 用手机「3D探店」是种什么体验?
  7. Android8.1源码编译实践(Mac)
  8. 【报告分享】新基建风口下,零售科技企业如何借势发展.pdf(附下载链接)
  9. Kafka高可用机制入门
  10. 玩转基金(1)基金基础
  11. JAVA当中Switch语句
  12. c#程序设计实训报告心得体会_C#.NET程序设计实验一实验报告
  13. 雷达的工作原理示意图_5张图1个视频,科普激光雷达工作原理
  14. delphi10.2的数学单元Math.pas
  15. Unsupervised Degradation Representation Learning for Blind Super-Resolution(基于无监督退化表示学习的盲超分辨率处理)
  16. 可以批量制作吊牌标签上的条码标签打印软件
  17. php毕业论文致谢,科学网—我也晒一下毕业论文致谢,感谢诸多帮助过我的人 - 何浩宇的博文...
  18. Qt图形视图框架图片图元QGraphicsPixmapItem
  19. Arnold阿诺德渲染器:C4DtoA for Cinema4D R20 for Mac
  20. PANDA pipeline的安装与使用-安装(1)

热门文章

  1. iBATIS In Action:什么是iBATIS(二)
  2. 《从强盗资本家到慈善家》--转载自思维的乐园
  3. 对linux的CFS调度算法的理解
  4. 基础编程题目集 6-13 折半查找 (15 分)
  5. C语言课后习题(56)
  6. MySQL INSERT的4种形态
  7. DBA 14条职业选择路线,你适合哪种?
  8. 关于物联网规则引擎技术,你想要知道的都在这儿!
  9. 掌握JS压缩图片,这一篇就够了
  10. 怎么在HTML上显示数据库的表格,在预定义的html表格中显示数据库表格记录