So-net無料ブログ作成
検索選択

Netbeans で groovy の execute が文字化けする [groovy]

Netbeans 6.9.1 上で groovy を使っていて、あるコマンドを execute した結果を取得した場合、 Groovy Version: 1.7.6 JVM: 1.6.0_23、Windows 7 Pro 64bit な環境では文字化けしてしまう。 例えば、dir コマンドの結果を取得したい場合、通常なら次のように記述できる。
"cmd /c dir /s /b D:\\".execute().text.eachLine {
  println it
}
しかし、同じコードをコマンドプロンプトで実行した場合は問題ないが、Netbeans 6.9.1 で実行すると文字化けしてしまう。

幸いなことに回避策を見つけたので、メモしておく。
InputStream cmdIn = "cmd /c dir /s /b D:\\".execute().in
BufferedReader reader = new BufferedReader(new InputStreamReader(cmdIn, "SJIS"));
reader.text.eachLine {
  println it
}
出力結果を InputStreamReader で取得して文字コードを指定すれば問題ないようだ。
タグ:Java Groovy
nice!(4)  コメント(1)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 4

コメント 1

cheese999

基本情報技術者を取るのにJavaを勉強したことがありましたが。。。
今、さっぱりです。
(^_0)ノ
by cheese999 (2013-09-22 22:47) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この記事のトラックバックURL:
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。