从新手到高手:Scala函数式编程完全指南,Scala 文件 I/O(27)

1、Scala 文件 I/O

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

scala 复制代码
import java.io._

object Test {
   def main(args: Array[String]) {
      val writer = new PrintWriter(new File("test.txt" ))

      writer.write("scala")
      writer.close()
   }
}

执行以上代码,会在你的当前目录下生产一个 test.txt 文件,文件内容为"scala":

scala 复制代码
scala

1.1、从屏幕上读取用户输入

有时候我们需要接收用户在屏幕输入的指令来处理程序。示例如下:

scala 复制代码
import scala.io._
object Test {
   def main(args: Array[String]) {
      print("请输入scala : " )
      val line = StdIn.readLine()
      println("谢谢,你输入的是: " + line)
   }
}

Scala2.11 后的版本 Console.readLine 已废弃,使用 scala.io.StdIn.readLine() 方法代替。

请输入scala官网 : https://www.scala-lang.org/

谢谢,你输入的是: https://www.scala-lang.org/

1.2、从文件上读取内容

从文件读取内容非常简单。我们可以使用 Scala 的 Source 类及伴生对象来读取文件。以下示例演示了从 "test.txt"(之前已创建过) 文件中读取内容:

scala 复制代码
import scala.io.Source

object Test {
   def main(args: Array[String]) {
      println("文件内容为:" )

      Source.fromFile("test.txt" ).foreach{ 
         print 
      }
   }
}

执行以上代码,输出结果为:

文件内容为:

scala

相关推荐
派大鑫wink5 分钟前
【Day12】String 类详解:不可变性、常用方法与字符串拼接优化
java·开发语言
Java编程爱好者6 分钟前
SpringBoot启动太慢?几个优化技巧
后端
喷火龙8号6 分钟前
修复 Hertz + OpenTelemetry 链路追踪中的数据竞争问题
后端
JIngJaneIL8 分钟前
基于springboot + vue健康管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端
程序员小胖9 分钟前
每天一道面试题之架构篇|Java 热部署插件化架构设计
后端
dyxal10 分钟前
Python包导入终极指南:子文件如何成功调用父目录模块
开发语言·python
幌才_loong11 分钟前
.NET 8 中 EF Core 的 DbContext 配置全解析
后端·.net
木木一直在哭泣12 分钟前
我把一个“U8 库存全量同步”从“能跑”改成“能长期稳定跑”:并发 + 全局限流 + 幂等复盘
后端
刘一说16 分钟前
Spring Boot中IoC(控制反转)深度解析:从实现机制到项目实战
java·spring boot·后端
悟空码字16 分钟前
SpringBoot参数配置:一场“我说了算”的奇幻之旅
java·spring boot·后端