プロが教える店舗&オフィスのセキュリティ対策術

http://godwood.allnet.ne.jp/vioret/j2seobex.htmlでDLできるOBEXライブラリに付属しているコマンドベースでファイルを転送することができるサンプルプログラム(obex.java)の実行結果などをSwing上(JTextAreaなどに)で表示させたいと考えているのですが、そのような事は可能でしょうか??
ご教授お願いします。

A 回答 (2件)

#2です。



>また「throw new OBEXCommandException("コマンドを指定してください。");」
>という風にSystem.out.println以外で表示させている箇所があった

 throw new OBEXCommandException();

というのは
別にここで「表示(System.out.println)」しているわけではないのでは?
「表示」しているのは、この例外をキャッチするcatch節の中で、では?
ソースコードを見直してみてください。


>exeファイルやbatファイルがないのですが

バッチファイルは、自分でつくります。
http://www.cdwavmp3.com/bangai/batfile.html
中に書く「コマンド」は自由。

ちなみに、次のようなコマンド
「java obex get file.txt」
においては、コマンド先頭に書かれている"java"がexe。(java.exe)
---

ところで前回の2つの方法に付け足して、方法3。

方法3. Runtime#exec()は使わないが、「標準出力のリダイレクト」は利用

(リダイレクトとは
http://e-words.jp/w/E383AAE38380E382A4E383ACE382 …
Javaのリダイレクト
http://www.vc-net.ne.jp/~ytp/bbs/java/bbs6698.ht …
---

方法3の概要
(1)あらかじめSystem.out.println()の出力先を、指定のファイルに変更(リダイレクト)。
(2)自作アプリケーション内で、ツールobexの望みのAPIを直接に呼ぶ。(※よってexec()は不要)
(3)この結果、ツールの実行結果は「ファイル」に保存。
(4)これをTextAreaに写す。
    • good
    • 0
この回答へのお礼

本当に丁寧なご説明をありがとうございます。
とりあえず、全ての方法を試してみます!

本当にありがとうございました。

お礼日時:2004/10/31 10:20

ある「コマンドラインベースのツール」がある。


で、このツールを実行したときの「(標準出力への)出力」を
別の自作アプリケーションに取り込みたい。
どうすればよいか。
僕が思いつくのは2つ(経験が浅いので…)。

---
(1)~いちばん簡単な方法~
その「コマンドラインベースのツール」のソースコードを
持っているというのであれば、

そのソースコード内の
「標準出力へ出力」している箇所を
「TextAreaへの出力」に書き換える。

System.out.println(str)

textArea.append(str+"\n");

など。
初級レベルであり悩みようがなく、正統な(?)やり方なのでオススメ。
(単に「ソースコードを、必要に応じて適切に書き換えなさい」ということ)

---
(2)Runtime#exec()

http://oshiete1.goo.ne.jp/kotaeru.php3?q=1047077
http://www.gimlay.org/~javafaq/S103.html

わからない場合は(1)の方法で

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=1047077
    • good
    • 0
この回答へのお礼

丁寧なご説明をありがとうございます。
(1)の方法は私も考えたのですが、プログラム自体がとても長く、また「throw new OBEXCommandException("コマンドを指定してください。");」という風にSystem.out.println以外で表示させている箇所があったため、うまく出来ませんでした。。。

(2)の方法は、exeファイルやbatファイルがないのですがそのような場合にはこの方法は活用できないのでしょうか?

質問ばかりで本当に申し訳ないです。

お礼日時:2004/10/30 15:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!