唯物是真 @Scaled_Wurm

プログラミング(主にPython2.7)とか機械学習とか

JavaのJShellワンライナーでスクリーンショットを撮る(実用性はない)

以前JShellでワンライナーのスクリプトっぽく書くのに挑戦しました
sucrose.hatenablog.com
この記事を書いてからJavaでワンライナーを書いて他の言語よりも嬉しい場合ってあんまりないかもと思い始めてきました

とりあえず思いついた例として、JavaのRobotクラスはスクリーンショットを取ったりキー入力やマウスの入力ができて、これは他の言語では標準ではあまり入ってなくて便利かもと一瞬考えました
というわけでスクリーンショットを撮るワンライナーを書いてみました

前の記事には書きませんでしたがjshellJAVASEという引数を渡すとImports all Java SE packages.してくれるらしいのでこれを使います。ちなみに起動がすごく遅くなります

コード

変数に代入したりせず簡潔に(?)書けました
screen.pngというファイル名で保存します
実行に時間がかかるのでいつスクリーンショットが取られるのかは動かしてみないとわかりません

echo 'ImageIO.write(new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())), "PNG", new File("screen.png"))' | jshell JAVASE -