【Scala】Scala ~ ファイル名・パスの扱い ~

■ はじめに

Scala の ファイル名・パスの扱いについて書き溜めていく

【1】ファイル名取得

import java.io._

val targetPath = "s3://your-bucket/hello/world/test.csv"
val targetFile = new File(targetPath)
val fileName = targetFile.getName()

// File Name = test.csv
print(s"File Name = ${fileName}")

http://simplesandsamples.com/basename.scala.html

応用編

import java.io._

object Main extends App {
  val list = Seq(
    "s3://your-bucket/xx/sample02.sql", // Hit
    "s3://your-bucket/xx/sample.txt",
    "s3://your-bucket/yyy/demo1.sql", // Hit
    "s3://your-bucket/",
    "s3://your-bucket/xx/sample01.sql", // Hit
    "s3://your-bucket/yyy/",
    "s3://your-bucket/aaa/hello",
    "abc",
    "",
    "s3://your-bucket/bbb/abc.hql"
  )
  val results = list.filter(
    path => new File(path).getName().endsWith(".sql")
  )

  for (result <- results.sorted) {
    println(result)
  }
}

/* Output
s3://your-bucket/xx/sample01.sql
s3://your-bucket/xx/sample02.sql
s3://your-bucket/yyy/demo1.sql
*/

関連記事

Scala ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/03/10/193805
Scala ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/03/12/184331
Scala ~ 基本編 / メソッド ~
https://dk521123.hatenablog.com/entry/2023/03/03/000000
Scala ~ 基本編 / クラス ~
https://dk521123.hatenablog.com/entry/2023/03/14/000857
Scala ~ 基本編 / コレクション ~
https://dk521123.hatenablog.com/entry/2023/03/13/000345
Scala ~ 基本編 / 日付・日時 ~
https://dk521123.hatenablog.com/entry/2023/03/08/000000
ScalaYAML
https://dk521123.hatenablog.com/entry/2023/03/16/012034

Java

パス・ファイルの扱い
https://dk521123.hatenablog.com/entry/2010/01/12/091848