Index > java

java

Sat, January 23, 2010

Java6SE の JDK Documentation(JavaDoc) をローカルPCで閲覧できるようにする(Ubuntu9.10)

Groovyのコードを書いているとたびたびJavaDocを参照するようになったので、 ローカルHDDにインストールすることにした。 aptで簡単に入れられないかと思ったが、ちょっと面倒だったので、その作業メモです。

続きを読む

Sat, January 16, 2010

正規表現でテキスト置きかえ処理, 複数行にマッチさせる方法

正規表現で、.(dot)は改行にはマッチしない。これがポイントだった。

そこで、Pattern.DOTALL オプションをつけて、regex をcompileしてやれば、 .(dot)は改行にもマッチする。

したがって、以下のような Testクラスがあった場合に、 改行含んだ状態のStringをコンストラクタに与えると、見事に複数行に渡っていても処理できる。

続きを読む

Wed, December 9, 2009

Twitterのつぶやきを分解して単語リストを返す(Javaを使用)

Twitter API で指定したユーザのつぶやきを取得したら 今度はこれを単語に分解しようという話。

単語分解するには、日本語形態素解析ツールが必要なのだが、 Androidで実行するのは無理があるので、とりあえず Yahooの日本語形態素解析サービス に処理を任せて、結果だけをAndroidで受け取るようにつくろう、と。

続きを読む

Wed, December 9, 2009

Twitter API で指定したユーザのつぶやきを取得(Javaを使用)

APIでつぶやき(ツイート,status)取得は、 Twitter Librariesで紹介されているライブラリを使えば楽なのですが、 Androidで使おうと思っているので、なるべく軽量にしたい。 その上、やりたいことは、指定したユーザのつぶやきを取得したいだけのなので、勉強もかねて 自作したコードをメモします。

Python で TwitterAPIを使って Tweet を取得 にあるように プログラム的につぶやきを取得したいだけなら、Java よりLL系の言語で書いた方がよい。

続きを読む

Sun, October 4, 2009

XML文書のプリティプリント、および正規化ツール

XML文書を扱っていると人間が読みやすいようにインデント量を調整したり(プリティプリント)
XML文書の差分をとる/パッチをあてるなどの処理のために正規化(ノーマライズ)する必要が生じます。

このツール(xml-normalizer.jar)はそれらの処理を行うためのユーティリティです。

このツールを使えば、常に同じルールでインデント量/改行位置が決定されるので、 結果として、XML文書をdiff,patchすることが可能になります。

続きを読む

Thu, October 1, 2009

JavaからDLLを使う,呼び出す(JNI,Windows)

JavaからDLLを呼び出して使う必要がある、どうしたらいいか。 →JNIを使えばよい。

既存にDLLがあったので、それをJavaから呼び出したいと思ったが、 調べてみるとそれは無理らしい。
JNIでは、Javaのクラスファイルからヘッダファイルを生成するのだが、 そのとき関数名と引数が決められてしまう。 つまり、既存のDLLがちょうとそれと同じ関数名と引数を持つことは(通常)ないので、 既存のDLLを直接呼び出すことはできない。

続きを読む

Thu, September 10, 2009

javac を cygwin で使えるようにするための設定

Cygwin上で javac コマンドを使えるようにするには、単に javac へのパスを設定しておけばよい。

たとえば、C:\java\jdk6 に JDKをインストールしてる場合は、 C:\java\jdk6\bin にパスを通す。(環境変数PATHをWindows上に設定しておく)

それだけの話なのだが...

続きを読む

Tue, August 4, 2009

ひらがなの濁音を清音に変換するには

ドキュメントの最後につける索引ページ、その索引タームのソート問題で、 今回は、濁音は清音に変換した状態でソートする必要がある。 どうすればいいか。

索引ソートの実際の全体の作業ステップとしては以下のようになります・・・

  1. 索引タームを抽出
  2. 索引タームが漢字カタカナひらがな混じりなので、ひらがなだけのよみに変換
  3. 濁音を清音に変換
  4. ソート

これだけが必要になります。

索引ターム自体の「漢字カタカナひらがな混じり」を「よみ(カタカナ・ひらがな)」に変換するには、 たとえば、YahooWebAPIを使います。(茶筅や和布蕪、KAKASIなどでもできると思いますが)

その後、YahooWebAPIで得た「よみ」はカタカナも含まれているので、カタカナをひらがなに変換します。

さらにひらがな中に含まれる濁音を清音に変換します。

すべて準備ができたらソートします。 (ソートはJavaやPythonを使えば簡単です。)

今回は、このステップのうちの濁音を清音に変換する部分の説明です。

続きを読む

Sun, August 2, 2009

Yahoo Web API 日本語形態素解析サービスをJavaから使う

以前のエントリーでPython経由で日本語形態素サービスを使う方法を書きましたが、 今回はJavaから使います。

WebAPIなので、HTTP-GET とか POSTメソッドを使うため、Javaの場合、jakarta-commons の HTTPClientあたりを 使わないと簡単にかけないんじゃないかと思って敬遠してきたのですが、 こちらのページでは、 標準のJavaAPIだけでできているようなので、わたしもJavaで実装してみたのでメモ。

形態素分析は通常は、日本語を適切な単位に区切り、その品詞などを得る目的で使用するのだと思いますが、 今回は単によみがなを得たいという目的だけにフォーカスします。

続きを読む

Wed, May 20, 2009

URLを正規化(normalize)する java,jython

"http://foobar.jp/./blog/foo.html" というURL文字列を "http://foobar.jp/blog/foo.html" のように修正(正規化)したい場合...

続きを読む

Tue, March 10, 2009

JavaからWindowsの作業用ディレクトリを取得する方法

以前エントリー「 Windowsにおいて、Javaプログラムからユーザのホームディレクトリを取得する方法 」で、 Windowsのホームディレクトリを取得しましたが、今回作業用のディレクトリが必要になりました。

単にテンポラリファイルをつくる場合は、java.io.Fileの createTempFile() メソッドを呼べばよい。 しかし、Java実行時のディレクトリがもし書き込み権限がなかった場合などを考えると、 確実に作業用ファイルを作成できるディレクトリがほしい。

続きを読む

Mon, March 9, 2009

Javaでzipを展開して、再度zipアーカイブを作成 ... OfficeOpenXMLデータの操作のために

MSOffice2007 では、docx,xlsx,pptx のように 拡張子に x が追加されているが、 この実体は、zip ファイルで中身はXML等で構成されている。 したがって、 データファイルだけを展開して中身を書きかえて、再度 zip アーカイブに戻してやれば、 MSOffice なしで、内容を操作することができる。

今回はそのためのJavaコード。
このサンプルでは中身の操作は一切しないで、単に既存の sample.pptx ファイルを作業ディレクトリに展開して、 その後、result.pptx ファイルにzipアーカイブとして保存しているだけ。

続きを読む

Mon, March 9, 2009

テキストファイル中の文字列 png を eps に置き換えるコード

現在、DocBookデータを構造化FrameMakerに流し込む・・・という仕事をしているのだが、 そのとき、DocBookはoxygenで編集しているが、oxygenはepsデータを表示できないため、 いったん png に置き換えてDocBook作成作業をしている。

しかし、FrameMakerに取り込む段階になって、拡張子を eps に戻してやる必要がある。 sedとかawkなんかでごく簡単に処理できるのではないかと思いつつも、とりあえず慣れているJavaで 取り急ぎ変換コードを作成したので、メモしておきます。

ご注意

行単位で処理しているのですが、一行に2回以上置き換えの必要が生じる場合に、最初だけしか置き換えられません。 たぶん簡単に改良できるはずですが、いまのところ、そんな不具合あります。

続きを読む

Wed, February 18, 2009

Markdown記法をJavaで変換する 【showdown.js + Rhino】の利用(showdown,markdown,javascript,rhino,java)

Markdown記法をJavaで扱いたい では、Java6の JSR233 Scripting for the Java Platform のJavaにJavaScriptを埋め込んで使う方法を使った。

Java5以前の環境で showdown.js をJavaから使いたくなったので、その調査結果のメモ。

続きを読む

Thu, February 5, 2009

テキストファイル中の「ひらがな」「数字」等について、全角から半角に置き換えたい(Java)

年に一回くらいしか使う必要が生じないのだが、 必要なときに手元になく、いつも過去ソースコードの山をかき分けて探していたので、 ブログにメモしておきます。

続きを読む

Mon, January 26, 2009

カンマ区切りのテキストを配列にする(Python vs Java)(python,java)

Pythonでカンマ区切りのテキスト(String)を配列にするには?

続きを読む

Fri, December 19, 2008

Processing + Java で Hello World(ハローワールド)...Javaアプリケーションにプロセッシングのスケッチを埋め込む方法

Processingは、 通常 PDE と呼ばれる統合開発環境でスケッチしながら使います。 スケッチの成果物は、アプレットとして書き出して単体配布できます。
これは、これで便利な機能ですが、Javaプログラマであれば、 直接JavaにProcessingを埋め込んで使った方が早い場合があります。 Eclipse上で開発すれば、コード補完も効きますからPDEを使わなくても、 スケッチもはかどります。

続きを読む

Sun, December 7, 2008

'持ち運べるウィキペディア'のためのツール wpui.jar

これは、 wpdb, wpindex を使って作成したデータベースと検索インデックスを利用して、 Wikipediaコンテンツを閲覧するためのブラウザです。

使い方は '持ち運べるウィキペディア'をつくる のエントリーをご覧ください。

※このエントリーは書きかけです。

 Twitter
follow me on Twitter
 Categories
 Archives