でこんぱいる
まずはjadを使ってclassファイルをjavaファイルに
※最初の1行でログファイルを初期化している
cd dummy > log.txt 2> NUL for /r %i in (*.class) do jad -o -s .java -r "%i" >> log.txt 2>&1
これで、classファイルと同じ場所にjavaファイルが作成されるハズ。その際、何かエラーがあったかどうかlog.txtを見ておく。
埋め込まれているマルチバイト文字列が「\uXXXX」なので日本語に変換
以下のrubyスクリプトで、srcフォルダ以下にあるjavaファイルを変換して、dstフォルダの下に保存する
require "kconv" require 'fileutils' SRC = "src" DST = "dst" Dir.glob("#{SRC}/**/*.java").each{|f| puts f contents = "" open(f){|fp| contents = fp.read.gsub(/\\u(\w{4})/){ [($1.hex)].pack("U*").tosjis } } dst = f.sub(SRC,DST) dir = File.dirname(dst) FileUtils.mkdir_p(dir) unless File.exist?(dir) open(dst, "w"){|fp| fp.write contents } } puts "finish"