Как переместить файлы из одной папки в другую в Scala - PullRequest
0 голосов
/ 11 октября 2019

Я новичок в Scala.

Я много гуглил, но нашел только, как перемещать файлы в Java. Я пытался переместить файлы, используя Java:

import Java.io.File

и оба: Files.move("FileA", "FileB",StandardCopyOption.REPLACE_EXISTING); и Files.move("DirA", "DirB",StandardCopyOption.ATOMIC_MOVE);

Как переместить файлы из одной папки в другую вScala?

Ответы [ 3 ]

0 голосов
/ 11 октября 2019

Если вам приходится много работать с файлами, я рекомендую https://github.com/pathikrit/better-files.

Это будет так же просто, как

import better.files._
File("/path/one/file").moveToDirectory(File("path/two"))
0 голосов
/ 11 октября 2019

Простой способ - использовать сборку sys proecess в scala. Так же, как при использовании bash.

Если вы хотите переместить "1 / 1.txt" в "2"

$ tree
.
├── 1
│   └── 1.txt
└── 2


В scala REPL:

scala> import scala.sys.process._
import scala.sys.process._

scala> "tree".!!.mkString
res0: String =
".
├── 1
│   └── 1.txt
└── 2

2 directories, 1 file
"

scala> "mv 1/1.txt 2".!!
res1: String = ""

scala> "tree".!!.mkString
res2: String =
".
├── 1
└── 2
    └── 1.txt

2 directories, 1 file

Этонемного по-другому, чтобы переместить файлы в другой каталог.

scala> "tree".!!.mkString
res3: String =
".
├── 1
└── 2
    ├── 1.txt
    └── 2.txt

2 directories, 2 files
"

scala> Seq("/bin/sh", "-c", "mv 2/* 1").!!
res6: String = ""

scala> "tree".!!.mkString
res7: String =
".
├── 1
│   ├── 1.txt
│   └── 2.txt
└── 2

2 directories, 2 files
"


См. также здесь: https://alvinalexander.com/scala/how-to-handle-wildcard-characters-running-external-commands

0 голосов
/ 11 октября 2019

Вы можете использовать Java API в Scala для перемещения файлов из одного места в другое. Ниже код, чтобы сделать то же самое,

import java.io.File
import java.nio.file.{Files, StandardCopyOption}

val source = new File("path-to-source-directory").toPath
val destination = new File("path-to-destination-directory").toPath
Files.move(source, destination, StandardCopyOption.ATOMIC_MOVE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...