[scala] URLからファイルに保存するtips

S3に貯めてた画像を一括でローカルにダウンロードしたいときに
書いたもの。

短くて便利。

参考リンク

ざっくり説明すると

  • processのパッケージオブジェクトがProcessImplicitsを継承している
  • ProcessImplicitsにはimplicit defでjavaのクラスからscalaのSourceへの変換するための便利関数が色々定義されている
  • その中のurlToProcessで、java.net.URLからscala.sys.process.ProcessBuilder.URLBuilderへ暗黙的変換を行っている
  • プロセスの出力をFileへ保存する#>メソッドを呼び出し
  • 最後にそのプロセスの実行を開始する!!メソッドを呼び出し

これでURLからダウンロードされたものが、ファイルへ保存されます。

蛇足ですが同じProcessImplcitsで定義されているstringToProcess
でコマンドの実行結果とかも取れる。便利。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です