scala学习笔记之文件IO操作

原创 2016年08月30日 15:07:51

Scala 进行文件写操作,直接用的都是 java中 的 I/O 类 (java.io.File):

1.读取本地磁盘

var source = Source.fromFile("D:\\test.txt","GB2312")
    var lines = source.getLines;     //获得迭代器
    for(line <- lines) println(line)

    var sourceArr = source.getLines().toArray        //读取成一个数组
    var sourceBuffer = source.getLines().toBuffer    //读取成一个缓冲
    val str = source.mkString;          //小文件读取成一个字符串
    for(c <- source){println(c)}      //逐个字符读取

    source.getLines().foreach { line => println(line) }  //scala的写法

    source.close()                    //用完之后需要进行关闭操作

2.从字符串读取

 val sourceFromString = Source.fromString("hello this is scala note")
    println(sourceFromString.mkString("<","-",">"))
    sourceFromString.close()

3.从URL读取,并写入本地磁盘

  val sourceFromUrl = Source.fromURL("http://www.baidu.com","utf-8")
    val urlLines = sourceFromUrl.getLines();
    var print = new PrintWriter("d:\\baidu.html");
    for(line <- urlLines){
      print.println(line)
      print.flush()
    }
    print.close()
    sourceFromUrl.close()





4.读取控制台的输入

  println("how old are you")
    var age = scala.io.StdIn.readInt()       
    var readLine = scala.io.StdIn.readLine() 
    println("your age is "+age)

5.读取二进制文件:scala不能直接读取和写入二进制文件,需要借助于JAVA来进行读取,这种方式还是按照java方式来去写scala,后期scala熟练后再进行更改

 def readAndWriteBinaryFile: Unit = {
        var file = new File("D:\\mycat.wmv")
        val bis = new BufferedInputStream(new FileInputStream(file))
        var byte = new Array[Byte](4096)
        var len = 0
        var outFile = new File("d:\\mycat_copy.wmv")
        var bos = new BufferedOutputStream(new FileOutputStream(outFile))
        while ({ len = bis.read(byte); len != -1 }) { //一定要这么写
            /*
             *  while((len = bis.read(byte)) != -1){   
             * 这么写会出现comparing values of types Unit and Int using `!=' 
             * will always yield true ,并在len = -1出现异常
             */
            bos.write(byte, 0, len);
            bos.flush();
        }
        bos.close()
        bis.close()

  }
版权声明:本文为博主原创文章,未经博主允许不得转载。

树莓派学习笔记——使用文件IO操作GPIO SysFs方式

本文描述如果通过文件IO sysfs方式控制树莓派 GPIO端口。通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口...

黑马程序员--学习笔记--IO流File文件操作

File类是java.io包下代表与平台无关的文件和目录,如果要在程序中操作文件和目录,都可以通过File类来完成。File能新建、删除、重命名文件和目录,但是不能访问文件内容本身。所以如果要访问文件...
  • kentw1
  • kentw1
  • 2015年09月10日 23:38
  • 161

【Python学习笔记】IO编程:操作文件和目录

【根据廖雪峰python教程整理】 如果我们要操作文件、目录,可以在命令行下面输入操作系统提供的各种命令来完成。比如dir、cp等命令。   如果要在Python程序中执行这些目录和...

java学习笔记之Java_IO操作.pdf

  • 2017年02月17日 10:58
  • 429KB
  • 下载

[学习笔记]Java文件IO操作------实现对文件的读取与写入

一、File类: 1.定义File对象: File file = new File(“path”); 2.常用方法: //方法的作用显而易见,不再说明 (1)File.exists()...

快学Scala学习笔记及习题解答(9文件和正则)

本文scala使用的版本是2.11.7第九章 文件和正则表达式9.1 文件读取行import scala.io.Sourceval source = Source.fromFile("myfile.t...

scala学习笔记-文件和正则表达式

1. 读取行 读取文件中的所有行: 调用scala.ios.Source对象的getLines方法: import scala.ios.Source var source=Source.fromFil...

12. JAVA IO Part 3 (数据操作流、合并流、压缩流、回退流、字符编码) ----- 学习笔记

12.11 数据操作流        12.11.1 DataOutputs

【Linux】LDD学习笔记——操作硬件——IO内存

原文出处:http://blog.chinaunix.net/uid-25014876-id-80627.html xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Java学习笔记--IO流的操作

IO流练习 复制文本的五种方式 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io....
  • loveqRc
  • loveqRc
  • 2016年12月31日 11:41
  • 127
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:scala学习笔记之文件IO操作
举报原因:
原因补充:

(最多只允许输入30个字)