2019独角兽企业重金招聘Python工程师标准>>>

简介

  在Scala中,I/O操作是调用java中的I/O类或者通过对java中的I/O类进行相应的封装来实现的。

``` trait FileLogger extends Logger{

val fileName:String //PrintWriter使用的是java.io.PrintWriter类 val fileOutput=new PrintWriter(fileName:String) fileOutput.println("#")

def log(msg:String):Unit={ fileOutput.print(msg) fileOutput.flush() } } ```

  相比于java语言中的I/O类,scala语言中的I/O相关类非常少,而这其中最常用的只有Source这个类。

写文件

  Scala进行文件写操作,直接用的都是java中的I/O类。

``` import java.io._

object ScalaFileWriter { def main(args: Array[String]): Unit = { val fileWriter=new FileWriter("file.txt") fileWriter.write("scala file writer") fileWriter.flush() fileWriter.close() } } ```

读文件

  scala中读文件可以直接使用java中的I/O类,也可以用scala中的Source对象,该对象对java中的I/O进行了封装,使用更简便更灵活。

``` //读取文件并将文件内容格式化输出 import scala.io._

object ScalaFileReader { def main(args: Array[String]): Unit = { //读取文件 val file=Source.fromFile("D:\scala\doc\api\package.html") //返回Iterator[String] val lines=file.getLines() //打印内容 for(i<- lines) println(i)
//关闭文件 file.close(); } } ```

网络I/O

  scala中的网络I/O操作可以通过Source对象中的fromURL方法来实现,也可以使用原生的JAVA网络I/O操作进行。

``` //网络I/O读取百度首页内容 import java.net.{URL, URLEncoder} import scala.io.Source.fromURL

object NetworkIO { def main(args: Array[String]): Unit = { print(fromURL(new URL("http://www.baidu.com")).mkString) } } ```

转载于:https://my.oschina.net/u/3980693/blog/2875308

Scala中I/O类使用详细解析相关推荐

  1. scala 主构造函数_在Scala中,如何在类的主构造函数中定义局部参数?

    在Scala中,如何在不是数据成员的类的主构造函数中定义局部参数,例如,仅用于初始化基类中的数据成员? 例如,在下面的代码中,如何在B类的主构造函数中正确定义参数b,以便它只生成临时本地参数而不是数据 ...

  2. 森林中的兔子(超详细解析)

    森林中的兔子题目题解 题目 解析 题解一 题解二 题目 森林中,每个兔子都有颜色.其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色.我们将这些回答放在 answers 数组里. 返 ...

  3. 特征匹配中OpenCV Dmatch类的用法解析以及非常详细的ORB特征提取与匹配解析

    首先说明一点,在SLAM中进行特征提取和匹配时,需要注意使用的OpenCV版本,在使用OpenCV2.x版本时,可以创建特征对象如下所示(省略了参数表): ORB orb; SURF surf; SI ...

  4. 学习笔记-----关于VS中使用模板类出现无法解析的外部符号问题

    最近再学数据结构,刚接触线性表,用VS2015照着书把linearList的array描述补全了结果运行总提示:无法解析的外部符号 翻了几篇博客发现貌似是和C++编译的机制有关(底层机制不是很懂,(- ...

  5. c 语言 可变参数前要加形参,C/C++中可变参数的用法详细解析

    可变参数即表示参数个数可以变化,可多可少,也表示参数的类型也可以变化,可以是int,double还可以是char*,类,结构体等等.可变参数是实现printf(),sprintf()等函数的关键之处, ...

  6. Python中字符串前u的详细解析,以及字符串前添加'b','r'的简单解释

    一.字符串前添加u,例如u'hello 世界你好!' 中文编码问题是用中文的程序员经常头大的问题,在python下也是如此,那么应该怎么理解和解决python的编码问题呢? 我们要知道python内部 ...

  7. RTP中H264封装NALU格式详细解析

    名词解释:NAL NAL的英文全称为Network Abstract Layer,即网络抽象层,在H264/AVC视频编解码标准中,整个系统框架分为两个层面,视频编解码层面(VCL)和网络抽象层面(N ...

  8. 【无标题】Scala 中的伴生类 - 伴生对象

    object TT {def main(args: Array[String]): Unit = {val clerk = new Clerkclerk.showInfo()Clerk.test(cl ...

  9. scala中的伴生类 伴生对象说明

    1.代码如下: [java]  view plain copy print ? package com.yy.oop /** * 伴生类和伴生对象 * class Student是伴生对象Object ...

  10. 安卓手机绘制uml图_Android Studio中绘制simpleUML类图详细说明及使用

    一.Android Studio中安装simpleUML 1.下载simpleUML jar包 2. 添加simpleUMLCEjar包 File--->Settings--->Plugi ...

最新文章

  1. CountDownLatch(线程计数器)
  2. oracle常见问题
  3. xtend怎么使用_使用Xtend构建Vaadin UI
  4. java判断对称素数_SM2非对称算法的原理及实现 Java SM2的代码案例 | 一生孤注掷温柔 | 小奋斗...
  5. 有传闻说,写好总结可以升职加薪?
  6. 毛笔日常保养注意事项
  7. ECshop sina
  8. android音视频【十】音频mp3剪切
  9. C语言:编写程序,打开文本文件stu.txt,读出文件内容,将其中的字符‘s’删除,将修改后的内容存到student.txt文件中。
  10. BaseAdapter的逗逼、普通、文艺写法
  11. 总结工作中常用到的linux命令大全_经典
  12. finereport 格式化金额函数_帆软报表常用函数总结
  13. 推荐10款最佳的App安全测试工具
  14. android 信号检测工具,信号检测软件下载-Signal Strength 安卓版v23.0.1-PC6安卓网
  15. 什么是soft matting方法_建筑师学“交互”有什么意义?零基础如何展开?
  16. 重新安装固态硬盘后,然后再安装系统至固态硬盘,为何开机后仍然不能从固态硬盘启动系统?
  17. MINE:Mutual Information Neural Estimation
  18. 如何下载全球范围的谷歌卫星地图数据
  19. 休闲零食生产企业如何做好供应链管理?
  20. cocos-lua环境搭建

热门文章

  1. IOS学习之斯坦福大学IOS开发课程笔记(第六课)
  2. 20145212 罗天晨 Web安全基础实践
  3. ObjC点击H5图片Native预览
  4. 实验5 数独游戏界面设计
  5. SqlServer2008基础知识:安全与权限
  6. tpc的time-wait
  7. dell 7447加装SSD
  8. Python模块——xml
  9. 5. CopyOnWriteArrayList 的适用场景
  10. hdu 1506 单调栈问题