📜  Scala 中的文件处理

📅  最后修改于: 2022-05-13 01:54:37.813000             🧑  作者: Mango

Scala 中的文件处理

文件处理是一种将获取的信息存储在文件中的方法。 Scala 提供了包,我们可以从中创建、打开、读取和写入文件。为了在 Scala 中写入文件,我们从Java中借用Java .io._,因为在 Scala 标准库中我们没有写入文件的类。我们还可以导入Java.io.File 和Java.io.PrintWriter。

下面是创建一个新文件并写入它的实现。

// File handling program
import java.io.File
import java.io.PrintWriter
  
// Creating object
object Geeks
{
    // Main method
    def main(args:Array[String])
    {
        // Creating a file 
        val file_Object = new File("abc.txt" ) 
   
        // Passing reference of file to the printwriter     
        val print_Writer = new PrintWriter(file_Object) 
  
        // Writing to the file       
        print_Writer.write("Hello, This is Geeks For Geeks") 
  
        // Closing printwriter    
        print_Writer.close()       
}
}     


创建了一个文本文件 abc.txt,其中包含字符串“Hello, This is Geeks For Geeks”

Scala 没有提供类来写入文件,但它提供了一个类来读取文件。这是类源。我们使用它的伴生对象来读取文件。要读取该文件的内容,我们调用 Source 类的 fromFile() 方法来读取包含文件名作为参数的文件的内容。

下面是从文件中读取每个字符的实现。

// Scala File handling program
import scala.io.Source
  
// Creating object 
object GeeksScala
{
    // Main method
    def main(args : Array[String])
    {
        // file name
        val fname = "abc.txt" 
  
        // creates iterable representation 
        // of the source file            
        val fSource = Source.fromFile(fname) 
        while (fSource.hasNext)
        {
            println(fSource.next)
        }
  
        // closing file
        fSource.close() 
    }
}

输出:

我们可以使用 getLines() 方法一次读取单个行而不是整个文件。
下面是从文件中读取每一行的实现。

// Scala file handling program to Read each
// line from a single file
import scala.io.Source 
  
// Creating object
object gfgScala
{ 
    // Main method
    def main(args:Array[String])
    { 
        val fname = "abc.txt"
        val fSource = Source.fromFile(fname) 
        for(line<-fSource.getLines)
        { 
            println(line) 
        } 
        fSource.close() 
    } 
} 

输出: