Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package test;
- import java.io.BufferedReader;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.lang.reflect.Type;
- import java.net.URL;
- import java.net.URLConnection;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- import com.google.gson.Gson;
- import com.google.gson.reflect.TypeToken;
- public class Test {
- public static void main(String[] args) {
- // 1文節
- toIME("とうきょうとっきょきょかきょくきょくちょう");
- // 4文節
- toIME("なかのくにおすまいのやまだたろうさん");
- // 末尾に「,」を付けると文節を区切らないよう指定できる。
- // https://www.google.co.jp/ime/cgiapi.html
- toIME("なかのくにおすまいのやまだたろうさん,");
- }
- @SuppressWarnings("rawtypes")
- public static String toIME(String kana) {
- URL url;
- try {
- url = new URL("http://google.co.jp/transliterate?langpair=ja-Hira%7cja&text="
- + URLEncoder.encode(kana, "UTF8"));
- URLConnection conn = url.openConnection();
- InputStream in = conn.getInputStream();
- Map<String,String> map = Json2Map(in);
- if (map == null) { return null; }
- Iterator entries = map.entrySet().iterator();
- StringBuilder sb = new StringBuilder();
- while(entries.hasNext()) {
- Map.Entry entry = (Map.Entry)entries.next();
- sb.append((String)entry.getValue());
- }
- return sb.toString();
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- public static Map<String,String> Json2Map(InputStream googleIME) {
- try {
- BufferedReader br = new BufferedReader(new InputStreamReader(googleIME,"UTF-8"));
- StringBuilder sb = new StringBuilder();
- String line;
- while ((line = br.readLine()) != null) {
- sb.append(line);
- }
- br.close();
- System.out.println("------------------------------------------------");
- System.out.println("googleIMEの処理結果 : " + sb.toString());
- Gson gson = new Gson();
- //Object[] oList = gson.fromJson(sb.toString(), Object[].class);
- Type listType = new TypeToken<List>(){}.getType();
- List posts = (List) gson.fromJson(sb.toString(), listType);
- for (Object o : posts) {
- List list = (List) o;
- // 元の文字列
- System.out.println("元の文字列 : " + list.get(0).toString());
- // 変換候補
- List koho = (List) list.get(1);
- // 変換候補1個目
- System.out.println("変換候補1 : " + koho.get(0));
- // 変換候補全部
- System.out.print("変換候補全部 : ");
- for (Object oo : koho) {
- System.out.print(oo.toString() + " / ");
- }
- System.out.println();
- System.out.println();
- }
- return null;
- } catch(Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- }
Add Comment
Please, Sign In to add comment