`

Scala编程之文件操作

阅读更多

一、简述

       Scala语言的名称来自于“可伸展的语言”。之所以这样命名,是因为他被设计成随着使用者的需求而成长。用Scala语言编写应用程序可以有很大的范围:小到写脚本,大到建立大系统。

       Scala是很容易进入的语言,它跑在标准的Java平台上,可以与所有的Java库实现无缝交互。它也是用来编写脚本把Java控件链在一起的很好的语言,但是用它来建立大系统和可重用控件的架构将更能够发挥它的力量。从技术层面上来说, Scala是一种把面向对象和函数式编程理念加入到静态类型语言中的混血儿, Scala的许多不同的方面都展现了面向对象和函数式编程的熔合;或许它比其他那些广泛使用的语言更有渗透性。在可伸展性方面,这两种编程风格具有互补的力量,Scala的函数式编程使得它便于快速地从简单的碎片开始建立一些有趣的东西。它的面向对象特性又使它便于构造大型系统并使它们适应于新的需求。Scala中这两种风格的组合使得它有可能表达新的编程模式和控件抽象。并产生了易读、简洁的编程风格。

 

二、实例展示

       利用Scala语言编写一个小程序:从文件中遍历内容并输出这些内容。

 

import scala.io.Source
class BaseOptDemo {
   def fileOpt() : Unit = {
       val files = paramConver()
       if(files.length > 0){
         val lines = Source.fromFile(files.apply(0)).getLines().toList
         val longestLine = lines.reduceLeft(
           (a,b) => if(a.length > b.length) a else b
         )
         val maxLength = widthOfLength(longestLine)
         for(line <- lines){
           val numSpaces = maxLength - widthOfLength(line)
           val padding = " " * numSpaces
           print(padding + line.length + " | " + line)
         }
       }else {
         Console.err.println("Please Enter filename")
       }
   }
   private def paramConver() : Array[String] = {
      val files = new Array[String](2)
      files(0) = "D:/scala/file_1.txt"
      files(1) = "D:/scala/file_2.txt"
      return files
   }
   private def widthOfLength(s:String) = s.length.toString.length
}

 

三、编写测试用例

object BaseOpt extends App{
    new BaseOptDemo().fileOpt()
}

 

四、测试结果

10 | AAAAAAAAAA10 | BBBBBBBBBB10 | CCCCCCCCCC10 | DDDDDDDDDD10 | EEEEEEEEEE

 

 

分享到:
评论

相关推荐

    Scala_Scala编程

    Scala编程语言之所以受到选择,文档中列举了几个原因,比如Scala的兼容性、简洁性、高层级和静态类型特性。这些特性使得Scala不仅能够与现有的Java代码和库无缝集成,还能够提供更高效的开发体验和更强的表达力。 ...

    intellij的scala工具bin文件

    "intellij的scala工具bin文件"是指IntelliJ IDEA中用于支持Scala编程语言的特定二进制工具集合。 Scala是一种强大的静态类型编程语言,它融合了面向对象和函数式编程的特性,被广泛应用于大数据处理领域,特别是...

    scala编程指导文档

    根据给定的文件信息,以下是从“scala编程指导文档”中提炼出的相关IT知识点: ### scala编程基础 #### 一、Scala语言概述 Scala是一种多范式编程语言,结合了面向对象编程和函数式编程的特点,运行在Java平台...

    scala编程基础

    ### Scala编程基础之Actor并发编程 #### 一、Scala Actor并发编程概述 ##### 1.1 什么是Scala Actor 在Scala中,Actor是一种强大的并行编程模型,它基于事件驱动和消息传递机制。通过Actor,我们可以更加简洁和...

    scala学习帮助文件

    这个"scala学习帮助文件"包含了Scala编程的第一发行版,第六版本的详细内容,是学习Scala语言的宝贵资源。 在 Scala 编程中,基础概念包括变量、常量、数据类型(如基本类型Int、Double、String,以及类类型和集合...

    Scala编程详解 第8讲-Scala编程详解:函数入门之过程、lazy值和异常 共5页.pptx

    首先,函数是Scala编程的基础元素之一。函数可以用来封装可重用的代码块,并可能返回一个值。当我们定义一个函数,如果函数体用花括号包围,且不使用等号`=`来连接结果,那么这个函数就被称为过程。过程的返回类型是...

    Spring 整合 Scala 编程【转】

    压缩文件"upeter-Scala-Spring-Integration-54f81fc"可能包含了示例代码或教程资源,帮助开发者实际操作Spring和Scala的整合。在实际学习和使用中,可以参考这些代码来加深理解并实践上述知识点。

    intellij idea2018的scala编程插件

    "intellij idea2018的scala编程插件"是专门为IntelliJ IDEA 2018版本设计的一个扩展,目的是为了增强IDE对Scala语言的支持。这个插件使得开发者能够在IntelliJ IDEA中编写、调试和运行Scala代码,提供了丰富的功能,...

    scala学习源代码

    这个"scala学习源代码"的压缩包文件很可能包含了用于教学或自我学习Scala编程的基础示例。让我们深入了解一下Scala语言的关键概念和特性。 首先,Scala运行在Java虚拟机(JVM)上,这意味着它可以无缝地与Java库...

    Scala编程.V.0.81

    Scala编程语言由著名计算机科学家马丁·奥德斯基(Martin Odersky)创造,他是Javac编译器的主要开发者,对编程语言有着深厚的理论基础和实践经验。Scala的设计目标是融合面向对象和函数式编程的特性,以提供一种...

    Scala编程实战.rar

    Scala编程实战是一个深入学习Scala语言的资源包,涵盖了广泛的编程概念和高级特性。Scala是一种多范式的编程语言,融合了面向对象和函数式编程的特性,广泛用于大数据处理和分布式计算,特别是在Apache Spark等框架...

    大数据课程-Scala编程基础-3.Scala面对对象的特性_lk_edit.ppt

    包对象可以通过`package object`定义,通常与包同名,且可以放在对应的`package.scala`文件中或与包定义在同一文件内,但需确保在相同作用域。 类和对象是面向对象编程的基础。Scala中的类支持构造器、继承、访问...

    在Jelastic上使用Scala编程Java开发Java

    **Scala编程语言** Scala是一种静态类型的多范式编程语言,它融合了面向对象和函数式编程的特性。Scala运行在Java虚拟机(JVM)上,因此可以直接与Java代码互操作。它的语法简洁,支持高阶函数、模式匹配、类型推断...

    scala入门--文档版本

    - **与Java的互操作性**: Scala可以在JVM上运行,并且能够无缝地调用Java库。 #### 二、Scala安装与运行 ##### 1. JDK安装 - **Windows**: - 下载并上传`jdk-7u45-linux-x64.tar.gz`文件至Linux系统。 - 使用`...

    scala API 操作hbase表

    Scala是一种强大的函数式编程语言,与Java虚拟机(JVM)兼容,因此非常适合编写HBase的客户端程序。 首先,确保你的开发环境已经配置好,包括安装了Scala、Maven、Hadoop和HBase。在Maven项目中,你需要在`pom.xml`...

    scala-2.11.7 msi安装包6

    总的来说,通过下载并安装“scala-2.11.7 msi”文件,Windows用户能够获得一个完整的Scala开发环境,从而开始他们的Scala编程之旅。这个过程涉及到环境变量设置、IDE集成、以及利用Scala SDK进行项目构建和开发。在...

Global site tag (gtag.js) - Google Analytics