- PR -

MultiPartからのBodyPart取得の時間について

1
投稿者投稿内容
masayo_o
会議室デビュー日: 2002/10/10
投稿数: 19
投稿日時: 2004-04-25 22:34
はじめまして,masayo_oと申します.

JavaMailを用いてメールの送受信をするアプリを作成しようとしている
のですが,どうしてもわからないことがありましたので,質問させて
いただきました.

[環境]
OS : windowsXP
Java: Sun Java 1.4.1
Java Mail 1.3.1

[問題]
保存した受信メッセージをファイルから読み込もうとしたとき,
MultiPartからBodyPartの取得の処理はうまくできているのですが,
GUIに表示する際に,メールサイズが大きな場合どうにも時間がかかっ
てしまいます.

そこで,System.out.println(System.currentTimeMillis());
を用いて,各処理にかかっている時間を調べたところ,下記の
(A)の部分で,1秒ぐらいかかっていることがわかりました.
読み込むメッセージのサイズによって(A)でかかる時間は変わります.
--> サイズの小さなメッセージの場合は,数00msかかりました.

--[抜粋]----------------
MimeMessage msg;
MultiPart mp;
BodyPart bp;

< 保存メッセージ読み取り処理 >

mp = ((Multipart)msg.getContent());
System.out.println("Mltipart 終了: " + System.currentTimeMillis());

bp = mp.getBodyPart(0); <-- (A)
System.out.println("BodyPartA 終了: " + System.currentTimeMillis());

--[結果]----------------
8MBぐらいのメッセージ読み込み時

Mltipart 終了: 1082897789406
bodyPartA 終了: 1082897790468 <-- 1secぐらい

保存しているメッセージを読み込む際には,大きなファイルを読み込むときに,
処理時間は増加すると思うのですが,MultiPartからBodyPartを取得する際に,
時間がかかるというのがわかりません.

MultiPartからBodyPart取得時にはこんなに時間がかかるものなのでしょうか?
もっと短い方法で取得する方法をご存知の方がいらっしゃいましたら,
ご教授いただけないでしょうか?

よろしくお願いいたします.
1

スキルアップ/キャリアアップ(JOB@IT)