[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 01/02 08:12 / Filesize : 246 KB / Number-of Response : 963
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者】Java質問・相談スレッド113【大歓迎】



1 名前:デフォルトの名無しさん [2008/03/01(土) 18:16:51 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。pc10.2ch.net/hp/

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
【初心者】Java質問・相談スレッド112【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1202467704/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝のう存じます。

次スレは>>980あたりで。

577 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 17:12:19 ]
>564
Java TCP/IP で調べれば結構な数の参考書あるぜ
大抵はサンプルとしてチャットプログラムがあるから、サンプルありで薄い本を探せば1週間でもなんとかOK

578 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 17:20:52 ]
通信頻度が高いからHTTPは向かないのですね。すみませんでした。

579 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 17:25:17 ]
IPメッセンジャーを改造して提出する生徒続出の予感。

580 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 17:28:09 ]
IPメッセンジャーナツカシス 雑談が多すぎるって理由で出向先で使用禁止になったよ。

581 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 17:32:18 ]
協力会社の愚痴を間違えてその協力会社の人に送ってしまった某外資 SIer が居て
使用禁止になったプロジェクトなら知ってる。

582 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 17:44:27 ]
通信頻度じゃなくチャットは双方向メッセージが基本だからトランザクション指向の HTTP とは全く違う。
自動リロード (ポーリング) でごまかすタダの掲示板がまともなチャットとでも思ってるのか。

583 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 17:54:57 ]
つComet

584 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 17:57:53 ]
とにかく動けば良いってことらしいからまともなチャットでなくてもとにかく動けばいいんでない

585 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:01:48 ]
>>582
Comet はそのポーリングをフレームワーク化しただけだっつーの。
キーワードだけ覚えて披露するなよ。



586 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:11:38 ]
>>585
じゃ、IRCは?

587 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:14:01 ]
プロトコルがそもそも HTTP と違うだろ。
その区別からできてないのかよ。

588 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:14:08 ]
Cometはポーリングじゃない。
ポーリング無しでサーバ→クライアント方向の通信を実現する方法。
クライアントから見ると、一度送ったHTTPリクエストに対するレスポンスが
いつまでたっても終わらず、
たまに思い出したように部分的なレスポンスが返ってくるので、
それをその都度処理する、って形になる。

が、このレベルの課題でCometなんぞ持ち出したら、余計面倒になる罠。

589 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:22:36 ]
だからポーリングにタイムアウト的なキュー待ちの毛生やしただけじゃん。

590 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:27:21 ]
Comet ではないが Ajax 使った Comet 型 Web チャット
anjya.koiroha.org/ja/fbr/guidance/sandbox/7

591 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 19:19:43 ]
宿題スレと間違えてコード書いちゃったから良かったらどうぞ。
ただし、自分も初心者なためツッコミどころがあったら教えてく欲しいです。
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/224.java

592 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:53:03 ]
>>591
とりあえず、UIスレッドとそれ以外のワーカスレッドについてと
その連携・スレッドセーフ性に関して再考した方がよいかと

593 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:12:09 ]
evalみたいなことできませんか?

int i=3;
String s = "現在i時です。";
String msg = System.eval(s);
System.out.println(msg);

594 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:15:46 ]
javax.tools.Compilerというのがあるが、ここで質問するレベルでは難しいだろう。

Javaじゃなくていいなら
javax.script.*
経由で対応言語つかっとけ。



595 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:16:35 ]
String msg = String.format("現在%d時です。", 3);



596 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:27:58 ]
180°の弧を描くアナログメータを作りたいんですけどうまくいきません
下のようなpaintメソッドではいけないのでしょうか?
真ん中に直線が描かれるだけで何もなりません

double i = 0;
int x = 200;
int y = 200;
public void paint(Graphics g){
g.drawLine(x,y,200,300);
Double xx = new Double(200 + Math.sin(1/20 * i) * 200);
x = xx.intValue();
Double yy = new Double(200 - Math.rint(Math.cos(1/20 * i) * 200));
y = yy.intValue();
i += 1;
}


597 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:35:32 ]
>>596
1/20 => 0
以上。

598 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:38:56 ]
描画部分のループはどうなってんの?
というか素直にdrawArcでいいんじゃない?

599 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:40:03 ]
リロードしてなかったぜ

600 名前:596 mailto:sage [2008/03/19(水) 23:41:24 ]
ども 助かりました

601 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 20:51:10 ]
ネットワークから受信する XML を SAX で解析する場合って、例えば属性値として
数 GB の文字列を投げられたら OutOfMemory が出るまで分からないよね。
10MB 送って無応答、10MB 送って無応答、、、という接続をいっぱい作られたら
どっかでサーバのメモリが逼迫状態のままになるという攻撃になるんだよね。

602 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 21:38:07 ]
Appletでウィンドウのサイズをかえるごとにウィンドウのサイズを受け取りたいんですけど
どうしたらいいんですか?
ダブルバッファでcreateImageの引数を変えたいんですが・・・

603 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 21:44:07 ]
ComponentListener
または描画のたびにアプレットのサイズ確認して変わってたらバッファ作り直し。

604 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 21:52:07 ]
>>603
ありがとうございます
参考にさせていただきます

605 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 22:24:55 ]
何度もすいませんw
↓これじゃだめなんでしょうか?なんか最初のサイズの範囲にしか描画されないんですけどorz
public void componentResized(ComponentEvent e){
d = getSize();
buffer = createImage(d.width,d.height);
repaint();
}



606 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 23:41:23 ]
JTableを印刷するにはどうすればいいでしょうか?

607 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 23:44:00 ]
スマートな方法は知らんけど Robot 使って該当領域スクリーンキャプチャすればできることはできるんじゃねか。

608 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 00:12:50 ]
>>605
正直、私では分かりません。が、
リスナーの追加、paint 内での buffer の使用状況確認などなど

はじめてやる時は、面倒でも一つ一つ丁寧に、
想定したことが起きているか確認しながら進むこと

609 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 00:51:53 ]
>>606
JTable#getPrintable()
PrinterJob#setPrintable()
PrintRequestAttributeSet#add()
PrinterJob#printDialog()
PrinterJob#print()

このへんのメソッド組み合わせて肉付けしていけばできる(はず)

610 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 01:30:16 ]
POI(HSSF)で大量のデータ(10万件のレコード)をExcelファイル出力しようとした場合に
OutOfMemoryErrorの発生を回避するには
複数のファイルに分割して出力する以外に方法はないんでしょうか?

611 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 01:30:18 ]
済みません、できませんでした。
メソッドの使い方がさっぱりわからなくて・・・。
class pbtActionListener implements ActionListener
{
public void actionPerformed(ActionEvent i)
{
}
}
この中にテーブルを印刷する機能を入れるにはどうすればいいでしょうか
本来なら時間を掛けて勉強するべきでしょうが
時間がないのもう少し詳しく教えてください。お願いします。



612 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 01:33:02 ]
>>610
今時の Excel は XML で読めるんだから XML で出せば?

613 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 04:46:13 ]
>>611
時間がないならcsvでファイルに吐いてExcelで印刷しろ

614 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 07:01:24 ]
ほれ
tableどっかから拾ってきてパラメータ適当にいじれ

try {
 Printable printable = table.getPrintable(JTable.PrintMode.FIT_WIDTH,
   new MessageFormat("タイトル"),
   new MessageFormat("Page - {0}"));
 PrinterJob job = PrinterJob.getPrinterJob();
 job.setPrintable(printable);
 PrintRequestAttributeSet attr = new HashPrintRequestAttributeSet();
 attr.add(OrientationRequested.LANDSCAPE);
 attr.add(new MediaPrintableArea(5.1f, 5.1f, 199.8f, 286.8f, MediaPrintableArea.MM));
 boolean printAccepted = job.printDialog(attr);
 if (printAccepted) {
  job.print(attr);
 }
} catch (HeadlessException e1) {
 e1.printStackTrace();
 catch (PrinterException e1) {
 e1.printStackTrace();
}

宿題スレかここは…

615 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 08:32:53 ]
>>610
Excelで扱える行数の最大は、65536まで。
POI使おうがCOM使おうがどのみち無理。



616 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 09:12:20 ]
Excel2007

617 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 09:22:55 ]
>>612
なるほど、XMLは考慮していませんでした
調べてみます

>>613
CSVも、やはり複数ファイルに分割しないとデータを扱いきれないので・・・

>>615
HSSFであれば1ファイルに複数シートを含めたExcel形式で出力できるので、
HSSFで何とかできないかと思いまして

ありがとうございました

618 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 09:31:26 ]
10万件のレコードが出力されたExcelファイルを誰がどんな目的で使うのかが不思議。

619 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 10:05:18 ]
業務から伝票データ集計を流してもらって、まとめて経営戦略用の資料とかにするとかかな。
あとアンケートデータの集計なんてのもあるしね。
それらの資料を元に今後の会社の行く末を。。。なわけだw

620 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 11:47:40 ]
開けないのにどうやって使うのって話では?
開けたとしても人間には解析できないけどなw

621 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 12:03:36 ]
取り込み形式が Excel のシステムにつなげるとか。
あと Excel にさえしてくればあとは中の人間が VBA で何とでもするからという所も多い。

622 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 13:25:58 ]
>>614
ありがとうございます。おかげでなんとかなりました。

623 名前:デフォルトの名無しさん [2008/03/22(土) 02:54:05 ]
複数シートに分ければ出来るよ
HSSFSheetのドキュメント参照

624 名前:デフォルトの名無しさん [2008/03/22(土) 12:18:28 ]
【提携/JAVA】マイクロソフト、Javaを使ったWindowsアプリ開発でEclipse財団と協力へ[03/21]
news24.2ch.net/test/read.cgi/bizplus/1206155464/

625 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 12:36:40 ]
特定のインタフェースを実装しているものを、動的に一覧する手段はあるでしょうか?
もちろん、クラスローダにローディングされているもので構いません。
Eclipse の検索で実装が探せますが、あれはソースを解析しているのでしょうか。



626 名前:デフォルトの名無しさん [2008/03/22(土) 13:30:25 ]
インターフェイスについて参照して、
実装について参照してはいけないと本に書いてありました。
なぜですか?

627 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 13:38:41 ]
>>626
後から実装を取り替えたくなったときに、参照している側まで修正しなければならなくなるから。

628 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 14:57:37 ]
>>455 のおかげで行きつけのイラストロジックが起動できた。
ありがとう >>455

629 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 15:21:30 ]
>>626-627
>>625 の答えとしてであれば、その点は了解しています(いるつもりです...)

行いたいことは、例えばあるコンバートを掛ける時に、公開インタフェースに
従って実装したユーザ任意の処理を、なるべく簡易な方法で追加させたいのです。
例になってしまいますが

標準語 ------> 関西弁 ------> 翻訳結果

と言った変換をするアプリケーションにおいて、公開インタフェースとして
  String translate(String sentence)
を公開し、これをユーザが実装すれば(例えば博多弁を追加)

標準語 ------> 関西弁 -------> 関西弁 + 博多弁 ------> 翻訳結果

といったことを可能にしたい、と言った感じです。

この追加した処理のデプロイ方法として、「公開インタフェースを実装したクラ
スを含む jar を ** に置くだけで OK」といった様に行わせたいために、>>625
のような要望となった次第です。FQCN さえ貰えれば済む話ではありますが、で
きれば簡易化させたいといった状況です。

630 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 15:31:29 ]
私も、1.6.0_05 アップデータをアンインストールして、
WinXP + Firefox3b4 + JRE1.6.0_03 で動いたよ。ありがとう 455。

>>629
// 其の二つはそれらで完結するレスかと。
プラグインなら、ファイル検索+カスタムクラスローダーで
できるかも…やったことないから適当ですが。

631 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 15:32:28 ]
日本語-->英語+フランス語-->翻訳結果っっっw

632 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 15:43:47 ]
PrivateKey や PublicKey ってシリアライズして保存しておけばいいの?
getEncoded() で何やらバイナリが取れるみたいだけど、これが何なのか分からん orz

633 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 18:01:22 ]
>>585>>589
> キーワードだけ覚えて披露する
それは>>582自身だ。
ポーリングを実装する必要を無くす仕組みではなく、
ポーリングをしなくて良い仕組みでしょ。

あるいは、ポーリングの意味ちゃんとわかってないんじゃない?
Comet使った場合定期的に問い合わせなんかしないでしょ?

634 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 18:05:37 ]
キューにイベント入ってこなければ定期的な問い合わせになるが。
Comet の仕組み分かってないのか。

635 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 18:08:53 ]
>>536
> RMIの紹介サイトはどこもクライアント側からのトリガーでサーバーへ返すものしかなく、
> 逆の場合も使えるのか確証が持てません。

WebサービスとRMIサービスは別なので、それぞれサーバの役割を持つプロセスは異なります。
その例だと
Webサーバプロセス = RMIクライアント
Webクライアントプロセス = RMIサーバ
なので、「(RMI)クライアント側からのトリガーで(RMI)サーバーへ返す」
と読み替えれば別にその紹介サイトの説明で問題はないでしょう。





636 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 18:10:17 ]
定期的な問い合わせではないな、定期的な再接続。
ポーリングはキューの確認終わったらすぐにリターンするが、それを一定の待機時間を維持するようにしただけ。
それをポーリングの揚げ足取りましたよ、と言いたいだけ?

637 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 18:10:20 ]
>>634
で、その定期的な問い合わせは
Cometフレームワークとやらが実現してるって言ってるの?

638 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 18:11:06 ]
>>632
保存したいのならお好きなように。getEncoded()のものを保存しておけ
ば、Java以外のプラットフォームでも読めるかもしれない。


639 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 18:22:35 ]
>>637
おまえ、ブラウザの裏で Comet が独自の通信プロトコルでも使ってイベントやり取りしてると思ってるなら
HTTP のお勉強からやり直したほうがいいぞ。

640 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:10:16 ]
>>629
使ったことないけど、これなんかどう?
java.sun.com/javase/ja/6/docs/ja/api/java/util/ServiceLoader.html

641 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:14:39 ]
>>629
jarをZipInputStreamに食わせて.classファイルの一覧を出させて、
URLClassLoaderで見つかったクラスを全部ロードさせてみて、
希望のインタフェイスを実装してるかひとつずつ調べる
という力技もないこともない

642 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:22:40 ]
URL.getContent();
を使ってコンテンツをダウンロードすると

コンテンツが
「あなたがお使いのブラウザは、Cookieをブロックする設定になっています。」
となっちゃう サイトに対して、

プログラム側がCookieを「受け入れ」て、
アクセスできるようにするには具体的にどうするんでしょうか?


HttpURLConnection が自動的にCookie受け入れ処理をやってくれるとかいうのですが....

HttpURLConnection.openConnection();
HttpURLConnection.getInputStream() ;
とかやっても URL.getContent(); の時と変わりません。




643 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:32:08 ]
>>642
java.net.CookieHandlerとかjava.net.CookieManagerあたりを使うんじゃないかなたぶん

644 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:33:25 ]
エスパーするとそのリクエストを出す前にどこかから Cookie の発行を受けていなければならない。
ブラウザで正常に動かしたのと同じ URL の順序で getContent() してみれ。

645 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:44:36 ]
IPアドレスの正規表現ってどうしたらいい
"[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}$"
これだと、300.192.144.109のようなIPアドレスもマッチしてしまう



646 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 21:08:08 ]
Cookieの処理を実装する。Cookieを保持するクラスはあるからさ。

647 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 21:24:00 ]
うぉ。Cookieはリクエストプロパティにベタに書き込んでたわ。
HttpURLConnection.setRequestProperty("Cookie", "なんたら");

648 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 21:33:18 ]
>>645
1オクテットだけなら
[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]
かな。

全部出来てから、あとでより正確にするってことで、
目的のプログラムが出来るまではとりあえずは数字でマッチさせて、
マッチ後int変換して範囲比較したほうが楽かも。

用途によっては
java.net.InetAddress.getByName()
に食わせて例外を捕まえるという方法も。


649 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 21:40:34 ]
"((([12][0-9]{1,2})|([1-9][0-9]{1,2}))\\.){3,3}(([12][0-9]{1,2})|([1-9][0-9]{1,2}))"
通ったよ

650 名前:649 mailto:sage [2008/03/22(土) 21:42:54 ]
失敗2番目と4番目の{1,2}は要らない。

651 名前:649 mailto:sage [2008/03/22(土) 21:47:00 ]
一桁が無かった。

652 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 21:56:12 ]
コードを少しずつ改変して行くに当たって、
それぞれにバージョンを付けて残しておこうと思ったら、
プロジェクトごとコピーして残しておけばいいんですか?
もっといい方法があるんですか?

Eclipseを使っています。コードを書くのは自分一人です。

653 名前:649 mailto:sage [2008/03/22(土) 21:57:47 ]
"((([12][0-9]{1,2})|([1-9]{0,1}[0-9]))\\.){3,3}(([12][0-9]{1,2})|([1-9]{0,1}[0-9]))"

654 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 22:03:06 ]
それ 299 が通る。
25[0-5]|2[0-4]\d|1\d\d|[1-9]\d?

655 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 22:05:24 ]
>>645
正規表現に拘る部分なのか(まぁ何も言うまい

>>652
豪華にいくなら、バージョン管理システム。subversion とか cvs とか
LocalHistory でもそこそこ残ってる(条件は知らない



656 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 00:38:14 ]
subversionは別に豪華じゃないんじゃない?file://でいけるし。


657 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 01:10:38 ]
>>655
バージョン管理システムは別に豪華じゃない。
Mercurialとかならサーバのセットアップすら不要。


658 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 02:01:57 ]
信者くせー

659 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 05:36:43 ]
AES でサポートされているはずの 192bit, 256bit のキー指定すると例外になるのは何で? サポートされてないの?

Exception in thread "main" java.security.InvalidKeyException: Illegal key size or default parameters
at javax.crypto.Cipher.a(DashoA13*..)
at javax.crypto.Cipher.a(DashoA13*..)
at javax.crypto.Cipher.a(DashoA13*..)
at javax.crypto.Cipher.init(DashoA13*..)
at javax.crypto.Cipher.init(DashoA13*..)
at Main.main(Main.java:101)

660 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 12:27:26 ]
>>659
違いそうだけど、輸出制限版とかいう話?


661 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 12:54:20 ]
普通に Sun からダウンロードした奴だけど規制版じゃないよね。
Blowfish も 128bit より上は同じ例外なんだけど。

662 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:01:43 ]
java.sun.com/javase/ja/6/docs/ja/technotes/guides/security/crypto/CryptoSpec.html#AppC

やっぱ輸出制限であってるかも。
制限解除したポリシーファイルだけダウンロードできるけど、
そもそも日本はダウンロードOKな国なのか??


663 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:20:33 ]
>>662
ascii24.com/news/i/topi/article/2000/07/19/610269-000.html
2000年で撤廃されてるらしいから、日本ならダウンロードOK。

664 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:37:07 ]
java.sun.com/javase/ja/6/docs/ja/technotes/guides/security/crypto/CryptoSpec.html#ExemptApps
> 関係があるのは、作成するアプリケーションが、政府により暗号化制限の課された国に
> 輸出される可能性があり、アプリケーションをその制限に適合させる必要がある場合だけです。

とあるので制限は解除されているものかと思ったら、128bit で制限かかるあたりからしてこれみたいですね orz
解除の試行錯誤でもしてみるか orz

665 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:43:15 ]
SUNから解除用ファイルダウンロードしてファイル1個置き換えるだけだよ。




666 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:45:59 ]
java.sun.com/javase/ja/6/download.html の下の方の

その他のダウンロード
Java Cryptography Extension (JCE) 無制限強度の管轄ポリシーファイル 6

てやつ。


667 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 14:08:47 ]
どうもご丁寧にありがとうございます m(_ _)m

ちなみに対照鍵暗号のアルゴリズム的な強さの現状ってこんな感じで良いんですかね。

AES ≒ Blowfish >> トリプルDES > [解読可能の壁] > DES

668 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 20:02:41 ]
SwingでWindowsのLook&Feelを用いたとき
Windowsのネイティブな部品のように
「コピー」「貼り付け」などのメニューが自動で表示されるようにはできないでしょうか?

AWTを用いればWindowsの部品として自動で表示されるようですが、
Swingの場合、自分でそれらの処理を実装しなければならないのでしょうか?

669 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 20:07:03 ]
はい

670 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 20:43:04 ]
Swingならハンドラ実装するだけ

671 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 22:07:16 ]
今までGUIの終了時処理はWindowListenerを登録して行っていたのですが終了時処理であれば
RuntimeのaddShutdownHook()
の方が適切なのでしょうか?
一般的なGUIアプリケーションでの終了時処理でこの方法を用いているものを見かけたことがなかったので、何か理由があるのかと思い質問させていただきました。

672 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 22:42:30 ]
>>667
AES >  Blowfish > トリプルDES
ぐらいかなあ

・トリプルDESはDESの強化版なので実績という観点からは評価が高いが、
さすがにいいかげん古い。あと低速

・一般にブロック長が大きいほうが強度もより高くなるので
AES(ブロック長128ビット)はBlowfish(ブロック長64ビット)より強いはず
実際、最近考案された暗号はどれも128ビット以上のブロック長を採用している
(Blowfishの設計者が新しく考案したTwofishもブロック長128ビット)



673 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 22:55:05 ]
繰り返しの構文について質問なのですが、
rubyのredoの役割を果たすものってjavaには無いのでしょうか?

674 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 23:04:12 ]
>>673
ない。Java は break と continue だけ。

675 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 23:07:24 ]
break => break
next => continue
retry = なし
redo = なし
かな。




676 名前:634 mailto:sage [2008/03/23(日) 23:08:36 ]
>>674
ありがとうございます。
スクリプトに出来てjavaに出来ないことがあるってのは意外ですね。

677 名前:634 mailto:sage [2008/03/23(日) 23:09:18 ]
>>675さんもありがとうございます。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<246KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef