Вот два возможных решения:
import java.io.{File, PrintWriter}
import scala.io.Source
val outputFile = "out.csv"
val inputFile = "/tmp/marks.csv"
val fileUrl = s"file:///$inputFile"
// Method 1, a traditional copy from the input to the output.
val in = Source.fromURL(fileUrl)
val out = new PrintWriter(outputFile)
for (line <- in.getLines)
out.println(line)
out.close
in.close
Вот один вкладыш, который в основном передает данные от входа к выходу.
import sys.process._
import java.net.URL
val outputFile = "out.csv"
val inputFile = "/tmp/marks.csv"
val fileUrl = s"file:///$inputFile"
// Method 2, pipe the content of the URL to the output file.
new URL(fileUrl) #> new File(outputFile) !!
Вот версия с использованием файлов.copy
val outputFile = "out.csv"
val inputFile = "/tmp/marks.csv"
val fileUrl = s"file:///$inputFile"
import java.nio.file.{Files, Paths, StandardCopyOption}
import java.net.URL
val in = new URL(fileUrl).openStream
val out = Paths.get(outputFile)
Files.copy(in, out, StandardCopyOption.REPLACE_EXISTING)
Надеемся, что один (или более) из вышеперечисленного удовлетворит ваши потребности.