File Handling in Scala - GeeksforGeeks

17 Mar, 2019
File Handling is a way to store the fetched information in a file. Scala provides packages from which we can create, open, read and write the files. For writing to a file in scala we borrow java.io._ from Java because we don’t have a class to write into a file, in the Scala standard library. We could also import java.io.File and java.io.PrintWriter.
Creating a new file :
java.io.File defines classes and interfaces for the JVM access files, file systems and attributes.File(String pathname) converts theparameter string to abstract path name, creating a new file instance.
java.io.File defines classes and interfaces for the JVM access files, file systems and attributes.
File(String pathname) converts theparameter string to abstract path name, creating a new file instance.
Writing to the file
java.io.PrintWriter includes all the printing methods included in PrintStream.
java.io.PrintWriter includes all the printing methods included in PrintStream.
Below is the implementation for creating a new file and writing into it.
// File handling programimport java.io.Fileimport java.io.PrintWriter  // Creating objectobject 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()       }}     
A text file abc.txt is created and contains the string “Hello, This is Geeks For Geeks”
Scala does not provide class to write a file but it provide a class to read the files. This is the class Source. We use its companion object to read files. To read the contents of this file, we call the fromFile() method of class Source for reading the contents of the file which includes filename as argument.
Reading a Filescala.io.Source includes methods for iterable representation of the source file.Source.fromFile creates a source from the input file.file.next return the next element in the iteration and moves the iterator one step ahead.file.hasnext checks if there is next element available to iterate.getLines– Iterate through file line by line
Below is the implementation for Reading each character from a file.
// Scala File handling programimport 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()     }}
Output:We can use getLines() method to read individual lines instead of the whole file at once.Below is the implementation for Reading each line from a file.
// Scala file handling program to Read each// line from a single fileimport scala.io.Source   // Creating objectobject 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()     } } 
Output:
Scala-Basics
Scala
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
For Loop in Scala
Scala | map() method
Scala | flatMap Method
Scala | reduce() Function
Scala List filter() method with example
String concatenation in Scala
Scala Tutorial – Learn Scala with Step By Step Guide
Type Casting in Scala
How to get the first element of List in Scala
Scala List contains() method with example