迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 Scala 中向文件中写入文本

作者:迹忆客 最近更新:2023/03/24 浏览次数:

本文将讨论将文本写入 Scala 文件的不同方法。

我们使用 java.io 对象将文本写入 Scala 中的文件,因为它依赖于 Java 对象来执行各种功能。


在 Scala 中使用 PrintWriter 将文本写入文件

必须执行以下步骤才能在 Scala 中写入文件。

  • 使用 fileName 创建一个 PrintWriter 对象。
  • 使用 write() 方法写入文件。
  • 使用 close 函数在完成写操作后关闭文件。

例子:

import java.io._

object MyObject {
    def main(args: Array[String]) {
        val writer = new PrintWriter(new File("C:\\Users\\srjsu\\OneDrive\\Desktop\\temp.txt"))  //specify the file path
        writer.write("Iron Man is the best")
        writer.close()
    }
}

输出:

Iron Man is the best

执行程序后,输出将写入桌面文件夹中的 temp.txt 文件。


在 Scala 中使用 FileWriter 将文本写入文件

必须执行以下步骤才能使用 FileWriter 在 Scala 中写入文件。

  • 使用 fileName 创建一个 FileWriter 对象。
  • 使用 write() 方法写入文件。
  • 使用 close 函数在完成写操作后关闭文件。

例子:

import java.io._

object MyObject {
    def main(args: Array[String]) {
        val writeFile = new File("C:\\Users\\srjsu\\OneDrive\\Desktop\\test.txt")
        val text = "We are learning Scala programming language"
        val writer = new BufferedWriter(new FileWriter(writeFile))
        writer.write(text)
        writer.close()
    }
}

输出:

We are learning Scala programming language

执行程序后,上面的输出将写入桌面文件夹中的 test.txt 文件。


在 Scala 中使用 Java NIO(New Input/Output)包将文本写入文件

这是在 Scala 中将文本写入文件的最佳方法。使用 Java NIO 包,我们可以以非常简洁的方式写入文件,即输入更少的代码。

示例 1:

import java.nio.file.{Paths, Files}
import java.nio.charset.StandardCharsets

object MyObject {
    def main(args: Array[String]) {
        val inputText = "I remembered black skies\nThe lightning all around me\nI remembered each flash\nAs time began to blur\nLike a startling sign\nThat fate had finally found me\nAnd your voice was all I heard\nThat I get what I deserve\nSo give me reason\nTo prove me wrong\nTo wash this memory clean\nLet the floods cross\nThe distance in your eyes";
        Files.write(Paths.get("C:\\Users\\srjsu\\OneDrive\\Desktop\\test.txt"), inputText.getBytes(StandardCharsets.UTF_8))
    }
}

输出:

I remembered black skies
The lightning all around me
I remembered each flash
As time began to blur
Like a startling sign
That fate had finally found me
And your voice was all I heard
That I get what I deserve
So give me reason
To prove me wrong
To wash this memory clean
Let the floods cross
The distance in your eyes

在上面的示例中,getBytes() 将字符串编码为 UTF-8 字符集。

示例 2:

如果输入字符串很小,我们可以将所有内容写在一行中。

import java.nio.file.{Paths, Files}
import java.nio.charset.StandardCharsets

object MyObject {
    def main(args: Array[String]) {
        Files.write(Paths.get("C:\\Users\\srjsu\\OneDrive\\Desktop\\test.txt"), "HELLO WORLD!".getBytes(StandardCharsets.UTF_8))
    }
}

输出:

HELLO WORLD!

执行程序后,上面的输出将写入两个代码示例的 test.txt 文件中。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Scala 中的同步

发布时间:2023/03/24 浏览次数:153 分类:编程语言

在本教程中,我们将介绍同步并演示如何在 Scala 语言中使用同步。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便