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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值