Scala Programming Language官方版是一款多范式的编程语言软件,Scala Programming
Language官方版的设计初衷是要集成面向对象编程和函数式编程的各种特性,Scala Programming
Language官方版能够运行在Java虚拟机上,并兼容现有的Java程序。软件能够结合Java风格接口的灵活性和类的强大功能。

软件功能
Scala Programming Language官方版能够进行无缝Java互操作
Scala运行在JVM上,因此Java和Scala堆栈可以自由混合,实现完全无缝的集成。
类型推断
所以类型系统感觉不那么静态。不要为类型系统工作。让类型系统为您工作!
并发与分发
对集合使用数据并行操作,对并发和分发使用actors,或者对异步编程使用future。
特点
结合Java风格接口的灵活性和类的强大功能。想想有原则的多重继承。
模式匹配
想想类固醇的“开关”。与类层次结构、序列等匹配。
高阶函数
函数是一级对象。以保证类型安全的方式组合它们。把它们用在任何地方,传递给任何人。
安装方法
下载Scala官方版的压缩包,解压后,双击msi文件,进入安装界面,点击next

查看软件协议,选择i accept...,点击next

设置软件安装位置,点击browse可以自由设置,建议大家选择安装在D盘,然后点击next

确认安装信息,点击install

Scala官方版正在安装,我们耐心等待

软件安装成功,点击finish

接下来需要配置Scala的环境变量,需要提醒一下在安装Scala之前需要安装jdk,并且配置JDK的环境变量。我们看一下本地安装完成后的目录,如下图所示。

最后我们配置Scala的环境变量,这台电脑-->右键“属性”-->高级系统设置-->环境变量,我们选择Path环境变量,并点击“编辑”按钮,我们将上图看到的Scala安装目录下的bean目录配置到Path环境变量中即可。

安装完成后我们需要检验是否安装成功,Win+R打开命令行,输入 scala -version,若出现Scala的版本信息则说明安装成功,如下图所示。

使用方法
使用Scala实现文件的拷贝
读取行:要读取文件的所有行,可以调用scala.io.Source对象的getLines方法:也可以对getLines应用toArray或toBuffer方法。

将这些行放到数组或缓冲当中,将文件内容读成一个字符串:val lines = source.mkString。


读取字符:要从文件中读取字符,可以直接把Source对象当做迭代器:如果想查看某个字符,但是不处理掉的话,调用source对象的buffered方法。

读取词法单元或数字:通过split方法对转化成行的文件内容进行划分,通过toInt或toDouble方法把字符转化成整数或浮点数。

写入文本:Scala没有內建的对写入文件的支持,要写入文本文件,可以使用java.io.PrintWriter.

值得一提的是FileChannel在使用前,必须要打开。需要通过InputStream/OutputStream/RandomAccessFile获取,BufferedReader/BufferedWriter获取不到。
