Play frameworkでmecab apiを自炊する
Play frameworkのインストールは,zipを解凍するだけなので省略.
環境はUbuntu Desktop 10.04.MecabはUTF-8阪.
Mecabのインストールは,http://d.hatena.ne.jp/Syo-Takasaki/20090528/1243484754 を参照してください.
api/app/controllers/Mecab.javaの作成
$ which mecab /usr/bin/mecab
package controllers; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import play.mvc.*; public class Mecab extends Controller { public static void mecab(String sentence) throws IOException { StringBuilder sb = new StringBuilder(); Process process = Runtime.getRuntime().exec("/usr/bin/mecab"); OutputStream os = process.getOutputStream(); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os)); bw.write(sentence + "\n"); bw.flush(); bw.close(); InputStream is = process.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line; while((line = br.readLine()) != null){ sb.append(line).append("\n"); } process.destroy(); String mecab_result = sb.toString(); render(mecab_result); } }