Q. javac コマンドを実行したときに、
『コマンドまたはファイル名が違います』や
『'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。』
と表示されてコンパイルできません。
A. javac.exeへのPATHが通っていません。
http://java.sun.com/j2se/1.4.1/ja/install-windows.html を良く読んで、javac.exe のあるディレクトリ(例: C:\j2sdk1.4.1_01\bin )のパスを
環境変数PATHに追加してください。
その後、
Windows98/MEの場合はOSを再起動、
Windows2000/XPの場合はコマンドプロンプトを新たに立ち上げなおしてください。
設定したパスが正しければ、javacが使えるようになります。
それでも同じエラーが出る場合は、設定した値が間違っています。よく見直してください。
Q. javac Hello.java でコンパイルはできるのですが、
java Hello を実行しようとすると
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』
と表示されて実行できません。
A. カレントディレクトリ(.)がクラスパス(classpath)に含まれていません。
コマンドプロンプトで、
set CLASSPATH=%CLASSPATH%;.
と設定する。最後の「;」と「.」を見落とさないように!
または、
http://www.gimlay.org/~javafaq/S004.html#S004-02 を読んでカレントディレクトリ「.」を環境変数CLASSPATHに追加してください。
クラスパスとはなにか(JavaFAQ 基礎知識)
http://www.gimlay.org/~javafaq/S004.html
3 :
デフォルトの名無しさん :03/03/13 17:30
a
5 :
デフォルトの名無しさん :03/03/13 17:30
aa
7 :
デフォルトの名無しさん :03/03/13 17:30
aaa
Javaスレ乱立させるな
10 :
デフォルトの名無しさん :03/03/13 17:31
11 :
デフォルトの名無しさん :03/03/13 17:31
aaaa
12 :
デフォルトの名無しさん :03/03/13 17:31
aaaaa
13 :
デフォルトの名無しさん :03/03/13 17:31
aaaaaa
14 :
デフォルトの名無しさん :03/03/13 17:31
⌒ ⌒ ⌒ シュルルル
__⌒ ⌒ ⌒__
/::::::::::Λ_Λ::::::::::::::::::/
/::::::::::(∩;´Д`)∩:::::::/ チャラッチャラッチャーン
/::::::::::::(
>>1 /:::::/
15 :
デフォルトの名無しさん :03/03/13 17:31
aaaaaaa
16 :
デフォルトの名無しさん :03/03/13 17:31
aaaaaaaa
18 :
デフォルトの名無しさん :03/03/13 17:31
aaaaaaaaa
19 :
デフォルトの名無しさん :03/03/13 17:31
jkldfさ
20 :
デフォルトの名無しさん :03/03/13 17:32
22 :
デフォルトの名無しさん :03/03/13 17:32
aaaaaaaaaa
23 :
デフォルトの名無しさん :03/03/13 17:32
あげさげ
24 :
デフォルトの名無しさん :03/03/13 17:32
aaaaaaaaaaa
26 :
デフォルトの名無しさん :03/03/13 17:32
aaaaaaaaaaaa
27 :
デフォルトの名無しさん :03/03/13 17:32
aaaaaaaaaaaaa
28 :
デフォルトの名無しさん :03/03/13 17:32
aaaaaaaaaaaaaa
29 :
デフォルトの名無しさん :03/03/13 17:32
b
30 :
デフォルトの名無しさん :03/03/13 17:32
aaaaaaaaaaaaaaa
32 :
デフォルトの名無しさん :03/03/13 17:33
aaaaaaaaaaaaaaaaa
34 :
デフォルトの名無しさん :03/03/13 17:33
aaaaaaaaaaaaaaaaa
36 :
デフォルトの名無しさん :03/03/13 17:33
aaaaaaaaaaaaaaaaaa
37 :
デフォルトの名無しさん :03/03/13 17:33
aaaaaaaaaaaaaaaaaaa
39 :
デフォルトの名無しさん :03/03/13 17:35
40 :
デフォルトの名無しさん :03/03/13 17:40
>>1 もつカレー
ヴァカがじゃましてるけど気にするな。
41 :
デフォルトの名無しさん :03/03/13 17:46
Javaは死滅ケテーイ
42 :
デフォルトの名無しさん :03/03/13 17:47
Javaは欠陥言語です
C#ほどじゃないけどな
,,..--―-、 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /, -----、.ヽ, / 世界、糞スレ発見! | i_,,,,_ __゙l | | ,!、i'゙-‐-: '-、|/ / __________ /'') ..., '‐-‐、.j  ̄ ̄ / ,‐!::...`'''''''`ノ _,,,l ;! ::|ヽ、二 イ , -‐'゙゛ i::.. | .ヽ/;ヽj!`‐-、_ l ノ::. .:|、 .ヽ,:ヽ| <゛~ヽ、 ,:''`` ''"゙.|;;:‐''゙|.ヽ、 ヽ;::| / .|゙l ,: ヽ::il;;! ヽ、ヽ| / | :| i o゚ :`;''゙ ヽ| / | .| i ..:::::,:::'::::: . |゚ |,,;:->、 `.、__;;/:::::::::: : | !''" | i ::.:::: : | | .| | |゚ / |
何でこんなに荒れてるんだ。(ゲラ
誰だ荒らしたのは?(嘲笑激藁
47 :
デフォルトの名無しさん :03/03/13 17:52
春休みだからか、MSの社員がなにか開発中の新製品でたたかれて荒れてるか、どちらか。
Javaの標準化動向ってどうなってるんですか? 確かISOかECMAに提出してたような。 標準化されてない言語なんて使えないですよね?(ワラ
50 :
デフォルトの名無しさん :03/03/13 17:55
>>49 Javaは惨マイクソの独断により標準化から撤退しました。
JavaはSunの独占商品言語です。
>>53 > ガキっぽいよね。
おまえもなー( ´∀`)
/ヽ /ヽ / ヽ / ヽ ______ /U ヽ___/ ヽ | ____ / U :::::::::::U:\ | | // ___ \ ::::::::::::::| | | | | | U :::::::::::::| | | .|U | | ::::::U::::| なにこのスレ・・・ | | | ├―-┤ U.....:::::::::::::::::::/ | |____ ヽ .....:::::::::::::::::::::::< └___/ ̄ ̄ :::::::::::::::::::::::::| |\ | :::::::::::::::::::::::| \ \ \___ ::::::
i ⌒l⌒~⌒ヽ │Java厨とっとと │ アヤヤからも お願い♪ .│| Java厨、お前の │ / 、 、 \ \ 逝くのれす / \Java厨さん早く消えて!!/ 時代は. 終わった│|ジャバチュウ | | ったく、サル | | ヽ ヽ ヽ  ̄ ̄ ̄∨ ̄ ̄  ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ \ んだよ! / | 早く. | | みてーに 糞レス | ⌒ii⌒~゙ ⌒~゙⌒゙,ヽ ∋oノハヽo∈ ノノノハ)  ̄ ̄|/ ̄ ̄ ̄ | 逝けょぅ./ | ばかりしてん | ⌒||~⌒~"⌒~⌒"' ( ´D`) 从‘ 。‘从 %%%%%%%%%  ̄ ̄|/ ̄ \ じゃねーよ! / || ∧__∧ ウセロ ∧___∧. 6|-○-○ | ∧ ∧  ̄ ̄|/ ̄ ̄ ̄ || (. #`∀´) (#・∀・) シネ!! イッテヨシ!! ヽ(⌒m⌒)ノ | < | ヽ(`ω´#) ∧∧ || ( つ ( O‐┛~ ∧ ∧___ ( Java厨 ) \ ∇./ __(x___) (゚Д゚#) ̄ ̄丶〜  ̄ ̄ ゝ ⌒)⌒) ̄ ̄ (⌒)、 ) ̄ ̄ ̄/(# *゚-)/)/\ ∪ ∪  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄___ ::::::;;;: :: UU ̄ ̄U U::::::::::; ll三三ll(_) __)三三ll三 (_)三ll /| ̄ ̄ ̄ ̄|\/三三ll三三ll三三ll三三ll三 /i_¶____il\__:::: :; ;:::: :; ;:::: :; ;:::: :; ;:::: ... '''""" """''' .... '''" ""'' .... ,,| しぃ# |/,, .... ∧ ,∧ .... //Φ Φi_| ヽ:::: :; ;:::/ ̄ ̄ ̄ ( ´,_ゝ`) プッ こんな ...... ..... ∧_∧ ''"""''"" ''"" "" ...(・д・,,)ペッ!! " "''/人 Д /,,_|. :: :; < Java厨を 嫌われてるのに <ヽ`∀´> 、'(_@ て,,,Шて,,_ノて_人:: :; ;| 呪まーす 居座る、Java厨って・・・ Java厨は謝罪するニダ
>>57 とりあえず。自作自演はやめようね。
今時嘲笑激藁とかゲラ使ってんのはあんただけだよ。
>>58 自作自演だろうがそうでなかろうが
死滅スレに嘲笑激藁とかゲラとかつかってる厨房はマジでいる
スレが読みにくいから削除依頼だしておくか?
>>59 同じ事の繰り返しになりそーだけど。
荒らしは過ぎ去るのを待つのみ。
4月の第2週まで待てば死滅するだろうし。
ヒッキーでなければ。
Javaと.NET、どちらが将来性ありそうですか?
えーと・・・何だか荒れているようなのですが質問しても良いでしょうか エラー処理をチマチマその都度書くのが何だか面倒で Exceptionを継承して自分好みのExceptionを作ってしまえばいいのでは? と考えて、実装方法が良く分からなくてThrowableやException そのサブクラス達のコードをさらっとですが読んだのですが 実際にエラー処理っぽい(?)コードがあったのはThrowableだけで そのサブクラスはコンストラクタのみで それもsuper()で上位のクラスへ処理を送っているように 見えたのですが、これはどういう事なんでしょうか? 自分好みのExceptionは作れるんでしょうか? 当方このレベルでなかなかに一杯一杯です(汗
>>62 public class TestException extends Exception {
public TestException(message){
super(message);
}
}
これを
throw new TestException("文字数が多すぎます")
のようにして使う。
65 :
デフォルトの名無しさん :03/03/13 19:24
URLEncoder.encode(select,"Shift_JIS")でエンコードして URLDecoder.decodeでデコードしたのですが え だけ文字化けしたまま なんですがどうすれば直るのでしょうか? ちなみにエンコードした文字は%82%A6となっています。
>>62 >エラー処理をチマチマその都度書くのが何だか面倒で
>Exceptionを継承して自分好みのExceptionを作ってしまえばいいのでは?
エラー処理をどのような意味で使っているのか知りませんが、
一般に Exception 等の Throwable のサブクラスはエラー処理を一切含みません。
エラー処理は Exception を受け取った側がするべきです。
>自分好みのExceptionは作れるんでしょうか?
自分好みの Exception は作れますが、
あなたの期待するようなものではないかもしれません。
>>65 URLDecoder.decode(str,"Shift_JIS");
IOExceptionやNumberFormatExceptionなどのようにtry節内で 何か意図しない?事が起こった場合にそこに後始末を書けるように どうにか出来ないかな、と思ったのですが なんだか無理っぽいようですね^^; メソッド作ってやりますでつ、すいません、ありがとうございましたー。
荒らしは無視すればいい。どうせ暇なヒッキーC#厨が 荒らしているんだろうが、あんな脳味噌ないような やつにまともに相手するだけ力の無駄。 レスしなければ飽きて他スレに行くだろう。 それにしてもC#厨はなに。考えてんだか。 あほらしくて反吐が出る。
>>60 4月の中旬まで待てというのか?
あと一ヶ月もあるぞ。
荒らしには断固として立ち向かうべきだ。
もしヒッキーでなかったらどうするんだ?
i ⌒l⌒~⌒ヽ │Java厨とっとと │ アヤヤからも お願い♪ .│| Java厨、お前の │ / 、 、 \ \ 逝くのれす / \Java厨さん早く消えて!!/ 時代は. 終わった│|ジャバチュウ | | ったく、サル | | ヽ ヽ ヽ  ̄ ̄ ̄∨ ̄ ̄  ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ \ んだよ! / | 早く. | | みてーに 糞レス | ⌒ii⌒~゙ ⌒~゙⌒゙,ヽ ∋oノハヽo∈ ノノノハ)  ̄ ̄|/ ̄ ̄ ̄ | 逝けょぅ./ | ばかりしてん | ⌒||~⌒~"⌒~⌒"' ( ´D`) 从‘ 。‘从 %%%%%%%%%  ̄ ̄|/ ̄ \ じゃねーよ! / || ∧__∧ ウセロ ∧___∧. 6|-○-○ | ∧ ∧  ̄ ̄|/ ̄ ̄ ̄ || (. #`∀´) (#・∀・) シネ!! イッテヨシ!! ヽ(⌒m⌒)ノ | < | ヽ(`ω´#) ∧∧ || ( つ ( O‐┛~ ∧ ∧___ ( Java厨 ) \ ∇./ __(x___) (゚Д゚#) ̄ ̄丶〜  ̄ ̄ ゝ ⌒)⌒) ̄ ̄ (⌒)、 ) ̄ ̄ ̄/(# *゚-)/)/\ ∪ ∪  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄___ ::::::;;;: :: UU ̄ ̄U U::::::::::; ll三三ll(_) __)三三ll三 (_)三ll /| ̄ ̄ ̄ ̄|\/三三ll三三ll三三ll三三ll三 /i_¶____il\__:::: :; ;:::: :; ;:::: :; ;:::: :; ;:::: ... '''""" """''' .... '''" ""'' .... ,,| しぃ# |/,, .... ∧ ,∧ .... //Φ Φi_| ヽ:::: :; ;:::/ ̄ ̄ ̄ ( ´,_ゝ`) プッ こんな ...... ..... ∧_∧ ''"""''"" ''"" "" ...(・д・,,)ペッ!! " "''/人 Д /,,_|. :: :; < Java厨を 嫌われてるのに <ヽ`∀´> 、'(_@ て,,,Шて,,_ノて_人:: :; ;| 呪まーす 居座る、Java厨って・・・ Java厨は謝罪するニダ
C#厨ウザ過ぎ。必死だな(嘲笑激藁
79 :
デフォルトの名無しさん :03/03/13 20:28
<input type=button>等でボタンを作ってそれを押すと そこに設定したリンク先に飛ぶような処理をしたいのですが JavascriptじゃなくてJavaでできるのでしょうか?
/ヽ /ヽ / ヽ / ヽ ______ /U ヽ___/ ヽ | ____ / U :::::::::::U:\ | | // ___ \ ::::::::::::::| | | | | | U :::::::::::::| | | .|U | | ::::::U::::| なにこのスレ・・・ | | | ├―-┤ U.....:::::::::::::::::::/ | |____ ヽ .....:::::::::::::::::::::::< └___/ ̄ ̄ :::::::::::::::::::::::::| |\ | :::::::::::::::::::::::| \ \ \___ ::::::
81 :
デフォルトの名無しさん :03/03/13 20:54
Javaは2度も標準化から撤退して、Sunも所有権を譲らず、オプソ排斥してる糞なんだから とっととやめちまえよ。(ワラ C#の方が百万倍マシだ。ECMA標準だし。
今どきJavaだってよ。( ゚,_・・゚)ブブブッ
♪チャララ、チャララ、チャララララララララ | | | | | | |三三| |三三| |三三| | | ,,.......,, | | | | |三三| ,. ''´ `'' :, ___ ,,...|三三| |三三|  ̄ ̄ ̄ ̄ ̄ ̄|`! ,.ィ彡三三三ネミ:、 .| |`'| |、....,,| ̄ ̄ ̄ ̄ ̄ 〓〓〓〓〓 |.」__ r(((r''''ー--‐''''ヽミヽ |三三| |三三|. | 〓〓〓〓〓 || ロロ lミ/ ',ミl  ̄ ̄ ̄ ̄ ̄ ̄ ̄|三三三三三 〓〓〓〓〓 || ロロ !ミl ,. --、 , -- 、 lミ! 〓〓〓〓〓〓 : |三三三三三 〓〓〓〓〓 |l ロロ lhl ‐=・= l l =・=‐ hj .〓〓〓〓〓〓 : | ______|l三__ !kl ` ´ ,l l, ` ´ tjl _______,|_____ . 〜〜 ゝl , ー-‐' 、 iソ 〜 〜 ',. , ---、 / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜 〜 ヽ `ニニ´ / 〜 〜 < キミ、今どきJavaはアカンやろ 〜 _,.、ィ'i´i ヽ、.__ / i`i't- 、,,_ \_______________ ^ ,.、-‐'''"´ / ! ヽ. ,/ ! i, ``''‐- 、 . / / | \ / | ', \ ♪チャララ、チャララ、チャララララララララ…
まだ死者プチュが荒してんのか。
>>85 いい加減自作自演やめろよ。荒らしの分際で。
死滅スレ逝けカスども
89 :
デフォルトの名無しさん :03/03/13 21:35
84>>携帯用に使いたいのでJavaScriptが使えなくて;;
Java厨必死だな。(大爆笑
>>92 全部C#厨の自作自演だろ。荒らしの分際ででてくんな(嘲笑激藁
死者プチュ必死だな
java.sql.ResultSet rs = pstmt.executeQuery(); System.out.println ( rs.getRow() ); 上記のような文で、Resultsetのポインタが現在何行目にあるのか調べようとしたのですが、 エラーが出てしまいます。 データベースから何行分、何列のデータをとってきたかを調べる用途に 使いたいと考えているのですが、先に進めません。 どなたか、何が悪いのか指摘してくださるか、もしくは別のよい方法をご教授くださらないでしょうか? ヒントだけでもお願いします。 ↓エラー文です。 java.sql.SQLException: [IBM][JDBC Driver] CLI0627E 結果セットをスクロールできません。 java.lang.Throwable(java.lang.String) java.lang.Exception(java.lang.String) java.sql.SQLException(java.lang.String) void COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throwNotScrollable() int COM.ibm.db2.jdbc.app.DB2ResultSet.getRow()
>>92 なんで「嘲笑激藁」じゃなくて「大爆笑」になってるんですか?
他人の振りしてもばれますよ(ゲラ
死者プチュが仲間割れしています(w
死者プチュもC#厨もJava厨も嘲笑激藁もゲラも全部まとめて消えうせろ
このスレ、J#質問・相談スレにしようぜ。 そっちの方がユーザーにも開発者にもメリットが多いしな。
今からこのスレはおいしいJavaTeaを探すスレになりました。
春だなぁ。
春だねぇ。
夏が思いやられますな。
受験失敗した腹いせに2chのスレ煽ってるなんて、かわいそうね、〇〇厨の中の人。
>>106 じゃあ夏はこんなにひどくなさそうだね。
RMIでトランザクションのしくみって、何がありますか?
まだプログラミングを始めて2ヶ月程なのですが、継承とか抽象化の メリットがいまいちわかりません。 これらは複数人で比較的規模の大きいプログラムを組むとき用のものであって、 個人がツールやゲームを作る分には殆ど意識する必要がないのかな?、 と思ったのですがなにか間違ってますか?
>>109 > 個人がツールやゲームを作る分には殆ど意識する必要がないのかな?
抽象化のほうなら、おおすじ、間違ってはないが。
継承は、共通化のために使え。
> これらは複数人で比較的規模の大きいプログラムを組むとき用のものであって、 そうでもない。けど始めて2ヶ月なら、そういう事はあんまり考えずに とにかくたくさん人のコードを読んで(もちろんデキのイイのを)、たくさん コードを書いた方が良いと思われ。
112 :
デフォルトの名無しさん :03/03/14 08:19
>>110 > 継承は、共通化のために使え。
????
ポリモーフィズムのために使え、じゃないの?
オブジェクト指向設計を意識したら抽象化、継承をどんどん使うようになる。
デザインパターンを勉強してみたら?
実装クラスを隠蔽してスーパークラスやインタフェースの型で扱える
メリットがわかる。
実装継承よりも、インターフェースと実装の分離を先にやってほしいなあ。 モジュール境界が明確になってヨイよ。
109ってコピペかなあ どこかで見たような
いや、コピペじゃないです(汗
>>110-113 なにやらよくわかりませんが、とにかく有り難う御座いました。
サンプル集や結城さんの本でも立ち読みしてきまふ。
>>113 そんなことが「プログラミングを始めて2ヶ月程」の香具師にできるわけない。
まずごりごり書いてみて、「ここ同じような処理ばっかりで効率悪いなぁ」とか思いつつ
「継承使えば共通化できるね」ということに気付きつつ
ポリモーフィズムとか抽象化とか、概念的なことに気付いていけばよい。
文字列の中にある、特定の文字だけカウントしたいんですが、 なんか簡単な方法ってないでしょうか? indexOf() で ゴリゴリカウントしかないのかなぁ・・・
>>118 String は CharSequence でもあります。
どうやって、indexOfでカウントするんだろうか。。。 めんどくさそうだ。
>>120 CharSequence からみで
>>118 のやりたい事できそうな機能って何があったっけ?
String を char[] にしてループでカウントするしか思いつかなかったよ(;´Д`)
あとは、特定の文字を適当な2文字に replaceAll() して length の差を取るとか(w
charAt で調べれば? 5行程度でしょ。
java.rmi.RemoteException: EJB Exception: ; nested exception is: java.lang.StringIndexOutOfBoundsException: String index out of range: 14 java.lang.StringIndexOutOfBoundsException: String index out of range: 14 これって、stringの配列をこえたのか、バイト数を越えたのか、どっちなんでしょうか? それともまったく違うエラーでしょうか。
>>124 「String の配列」、「バイト数」ともに一般的に使用される意味だとすれば違う。
0 〜 String#length() で取れる範囲の外に charAt() 等でアクセスしようとした場合に投げられる。
126 :
デフォルトの名無しさん :03/03/14 19:48
JAVAアプレットで質問ですが、
以下のようなコードを書いたときに、
Windowsのブラウザでは動作するのですが、
MacOSXのIEでは動作しないようです。
手元にMac環境がないので、デバッグに困っております。
誰か、助けてください。
try {
getAppletContext().showDocument(new URL("
http://xxxxx/ "));
} catch(Exception e){}
AppletからWindows2000のDBにアクセスしたい。 フリーのJDBCドバイバ(TYPE 3or4)ありましぇんか? 開発環境はForte for Javaの最新のやつ。
PostgreSQLならType4が付いてるな。いちおうWin2000で動かすことはできるし。 Forte for Javaの最新のやつということはForte for Java 3 ってことですね? Sun ONE Studio4にバージョナップしたほうが幸せかも。update1はいままでよりは速くなってる。
AppletからWindows2000のDBにアクセスしたい。 フリーのJDBCドらイバ(TYPE 3or4)ありましぇんか? 開発環境はForte for Javaの最新のやつ。
なんだ、人口無能(自動投稿スクリプト)か。。。 ほっとこ。
AppletからSQL Server 2000のDBにアクセスしたい。 フリーのJDBCドライバ(TYPE 3or4)ありませんか? 開発環境はForte for Java 3です。 クライアント:Windows 2000,ブラウザIE6.0 サーバ:Windows 2000 Advanced Server SQL Server 2000 IIS DBアクセスするのにHORB,RMIやIDL等使ってめんどくさいこと すんのはダメ。DBアクセス用のフリーのクラスライブラリがあれば なおいいんだが。
AppletからSQL Server 2000のDBにアクセスしたい。 フリーのJDBCドライバ(TYPE 3or4)ありましぇんか? 開発環境はForte for Java 3です。 クライアント:Windows 2000, IE サーバー:Windows 2000 Server,SQL 2K,IIS
age
AppletからWindows2000のDBにアクセスしたい。 フリーのJDBCドバイバ(TYPE 3or4)ありましぇんか? 開発環境はForte for Javaの最新のやつ。
ファイルのcloseメソッドがよくわかりません。 たとえば、 String path = "適当なファイル名"; FileOutputStream fos = new FileOutputStream(path); BufferedoutputStream bos = new BufferedOutputStream(fos); とすると、使い終わったあとに実行しなければならないのは fos.close(); bos.close();どっちですか?それとも、どっちも? PS 実は、ファイルをクローズしないとどうなるかも分かっていません。 クローズ忘れてもコンパイルとおるし、実行できちゃうんです。
>>127 そのようです。
あるボタンを押されたときに、
>>126 のコードを実行しているのですが、
他のボタンを押されたときには、
別のアクションを起こすようにしているのですが、
そちらには問題がないとのことなので、
ボタンを押されるまでは上手くいってると考えています。
>>139 BufferedOutputStreamには、それ自身がチョッとバッファもってる。
FileOutputStream#close()をコールすると、ファイルへの掃きだし
を自動的にしてくれる。でもFileOutputStream自体はBufferedOut
putStreamで包まれていることを知らない。BufferedOutputStream
の内部のバッファに、もしデータがチョッと残ってたりしたら、そ
れがファイルに書き込まれずにファイルがクローズされちゃう。
コレってまずいよね。ということで、BufferedOutputStream#close()
を呼ぼう。コッチを呼ぶと、
1.BufferedOutputStreamの内部のバッファを、全部FileOutputStream
のほうに吐き出す
2.BufferedOutputStreamがラップしているOutputStream(この場合は
FileOutputStream)のclose()を呼ぶ
3.FileOutputStream#close()が呼ばれるので、データはスッカリファイルに
書き込まれる。
と動きます。
なんか似たような長い単語繰り返し書いてると、悲しくなるね。
>>140 MacかIEかというより、URLがさしている場所が、Appletのコードをおいて
あるホストかどうかが問題なのではないのかね。sandboxってしってるか?
> FileOutputStream fos = new FileOutputStream(path); > BufferedoutputStream bos = new BufferedOutputStream(fos); 一番外側のやつを close してやればよい。 だって、こんな風に書くことだってあるでしょ。 BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(path)); んで、 bos.close(); bos が、クローズされたあとも、オブジェクトとして生存しつづける必要がなく、 変数のスコープが長くて自動的にGCされなさそうな場合は、ついでに、 bos = null; もやろう。
144 :
デフォルトの名無しさん :03/03/15 00:27
便乗質問ですんませんが MicrosoftSQLServer6.5 or 7.0用の JDBCドライバはありますか? フリーで、TYPE3か4のもの。Appletから使いたいので。
今プログラミングの解読の課題をやっているんですが、 double[] six = new double[]{0.0, 1.0, 2.0, 3.0}; if (five(1.23,six)) System.out.println("(5): " + true); else System.out.println("(5): " + false); System.out.println("(6): " + six[six.length-1]); というプログラム(全体の一部です)で、 出力した結果が (5):true (6):6.0 になるようなのですが、 ・if (five(1.23,six))の括弧の中身が どういった条件を表しているか? ・sixのサイズは4なので、six.length-1==3 なので、six[six.length-1]=six[3]=3.0 となるかと思ったのですが、なぜ6.0になるんでしょう? ご教授くださいませ。
>>145 そんなの、メソッドboolean five(double,double[])の処理次第だろ。
どんなメソッドなのか、コッチはシランよ。
その結果だけみてると、five()メソッドの中で、第二引数の配列の中身
を書き換えして、trueを返しているようだが。
ところでそのコード書いた糞はどこのドイツよ?
一つ目 five(double, double[]) メソッドが定義されているところを探してください 二つ目 five(double, double[]) を呼んだときに six の中身が変更されているのでしょう
static boolean five(double a, double[] b) { for (int i = 0; i < b.length; i++) b[i] *= 2; if (a > 0) return true; else return false; } を忘れていました。申し訳ありませんでした。
149 :
デフォルトの名無しさん :03/03/15 00:54
RandomAccessFileについて教えてください。 RandomAccessFileで開いたファイルの内容の ある位置からある位置までを消したい場合、 どうすればいいのでしょうか? 読み込みや書き込みのメソッドはあるのですが、 削りたい場合のメソッドがないように思えます。
使ったことないけど、無理なような気がする。 ドキュメントにも、配列みたいなもんだ、ってかいてあるし。 配列みたいなものなら、サイズ変えるんは不可能かな、と。 別ファイルに、コピーする感じで、入らないところだけスキップする ってのはどお?
>>142 問題の現象は遷移先のURLも同じホストですが、
WindowsのIEでは、
異なるホストに遷移すことも可能なことは確認しています。
何度も申し訳ありません。 148のプログラムを145に当てはめると 148のfor文においては、double[]b=six[]=={0.0,1.0,2.0,3.0} b.length==six.length==4であることから、 最終的にsix[six.length-1]==six[3]==48.0 かと思われるのですが・・・ なぜ、6.0なのでしょう??? ご教授くださいませ。
>>152 for (int i = 0; i < b.length; i++) b[i] *= 2;
の意味をよーく考えてみな
あ、わかりました!!!! b[]の要素それぞれに*2と言うことですね!! すいません。ありがとうございます。。
>>151 …セキュリティポリシーファイルの設定が違ってんじゃないの?
>>149 それ専用のメソッドは無い。
けど seek, read, write, setLength 等を使えば可能。
何度も申し訳ないのですが・・・ public class Seven { int seven; Seven(int n) { seven = n; } int methodSeven(double d) { if (d > seven) return 7; else return 70; } } のとき seven.methodSeven(0.7)を求めると、 70になるんですが、実際にどういう動きをするのか 分からないんです。 よろしければご教授ください。
>>145 おまえさー、プログラミング向いてないよ。
Seven#sevenより0.7のほうが小さいんでしょ。そのまんまやん…
>>139 です。
ありがとうございました!疑問がスッキリ解決して今日はぐっすり眠れそうです。
160 :
デフォルトの名無しさん :03/03/15 02:35
>>145 どういう動きも何も
IF文で代償比較してるだけジャン。
これが分からないとやばいだろ?
161 :
デフォルトの名無しさん :03/03/15 02:36
代償→大小
すいません。 正確には seven.methodSeven(0.7) の意味が分からないんです。
あっちとこっちで、別なものを入れるのに、 同じ変数名 seven を使ってる?
まず、seven=nとして、 d=0.7とした上で、 0.7とnの大小比較をするものだと 思ったのですが、 n<=0になることもあるかと思って 質問させていただきました。 そこで、「seven.」の部分が気になったんです。 分かりにくかったらごめんなさい。
seven.methodSeven(0.7) をする前に、seven の中になにか代入してると思うのだけど、何が入ってる? んで、それは、Seven というクラスの外側で、行われていると思うのだ。 (そのへんに関しては、ソースを示してもらえてないので、あくまで想像だけど) Seven というクラスの中の seven と、外の seven が、まったく別だってことが あなたがわかってるのかどうか、こっちがわからないので、話が進められん。
大変申し訳ないです。 Seven seven = new Seven(7); System.out.println("(7): " + seven.methodSeven(0.7)); と書いてあるのを見過ごしていました。 ということは、seven=7となって、0.7>7ではないので、 70という値を出力する。ということでよろしいですか? お手数お掛けして申し訳ありませんでした。
>>166 >>148 のfiveなんかは、どうやったらこの処理にfiveという名前がつくのか謎だな。
学校の先生なんかは、結局まともなプログラムを組んだことがないからなぁ。。。
教えられる方もかわいそうだ。
>>166 そうですね。
ずっとプログラムやってると、変数やクラスやメソッドにどういう名前を付けるか
ってのが重要と感じるっす。変な名前を付けると、明日の自分が困る。
145さんのはプログラムの解読の課題だそうで、クラスや変数にあえて
分かりにくい命名をして、理解度を試そうとしているプログラムなのかも・・・。
>>167 すばらしい先生ですね。学費払うのもったいないです。
メニューバーでVBやDelphaiによくみられる ファイル(F) ~ ができません。&Fでもできないのですがどうやるもんでしょ?
>>171 setMnemonic(KeyEvent.VK_F);
174 :
デフォルトの名無しさん :03/03/15 17:26
JavaはWebProg板へ。Servletの質問ばかりだし。 JavaはWebProg板へ。Servletの質問ばかりだし。 JavaはWebProg板へ。Servletの質問ばかりだし。 JavaはWebProg板へ。Servletの質問ばかりだし。 JavaはWebProg板へ。Servletの質問ばかりだし。 JavaはWebProg板へ。Servletの質問ばかりだし。 JavaはWebProg板へ。Servletの質問ばかりだし。 JavaはWebProg板へ。Servletの質問ばかりだし。 JavaはWebProg板へ。Servletの質問ばかりだし。 JavaはWebProg板へ。Servletの質問ばかりだし。
175 :
デフォルトの名無しさん :03/03/15 17:33
お前らWebProg板に行けよ。 どうせクライアントサイドで使ってないんだろ。(ゲラ
春だなぁ。
春だねぇ。
ぐだぐだちょっかい出しに来るのって中学生くらい? 稚拙だよね。社会不適応というか。
質問なんですが、 JavaのWrite Once, Run Anywhereは幻想だと聞いたのですが、 具体的にどのような点なんでしょうか?
>>180 普通にLinxやUNIX上で動作するアプリをWindowsで開発してますが何か?
>>180 J2MEによる携帯電話用Javaプログラミングは、容量制限の影響か「どこでも動く」が確実に実現できないが、
J2SEのプログラミング時にOS固有の機能にアクセスするようなプログラミングをしなければ
それは幻想ではない。
サーバサイドでは幻想に近いとも言われている。
注意を怠らなければクライアントサイドでは全く幻想ではない。
>>179 いざとなったら削除依頼でも出せばいいって。
>>182 はぁ?サーバーサイドやったことあんの?
Windowsでソース書いてビルドしたwarとかearを
そのままLinuxやUNIXにデプロイしてるが、何か?
Tomcatも全く同一のバイナリ使えるよ。
>>182 それダウトじゃねー?サーバサイドじゃ幻想どころか、
完璧に Run One time Run Anywhere だと思うんだが。
>>184 移植時にApache設定やインストールに依存するところがどこでもうごく、とは言い切れない部分だとは思うが。
JavaVM自体の動作が違いすぎるのが問題なのでは?
>>186 それ、突込みドコロが違うだろ。WORA の意味を勘違いしてねーか?
>>186 そんなのJavaの話じゃないじゃん。
Run One time Run Anywhereってのは
ソースの書き換えやリビルド無しで動作可能ってことだろ?
そんなこと言い出したら「JVMが入ってないと・・・」、とか
いろいろつっこめることになってしまうが?
>>188 じゃ、JDBC使ってDBにアクセスしたときはどうなんだろ
おいらにとってのWORAとは 仕事を家にもって帰れるようになったってことだな。 いいことなのか悪いことなのか、、、
>>190 そのためにJNDIがあるのですが、何か?
>>192 正確にはdataSourceだな。
ソース修正もリビルドもなしでいけるよ。
ちゅうか
>>190 にはいいかげんWORAの意味をちゃんと理解してほすい。
プチ祭りですか?盛り下がってきたなぁ(;´Д`)
Java のライブラリーのソースはどうやったら読めるのですか? 結城先生の本で、 「java.io.InputStream クラスでは Template Methodが使われています」 と書いてあったのですが、どうすれば読めるのかと思って。
DBも全部Javaでできていれば確実なんだけど・・
>>196 SDK に src.zip というのが入ってると思うから、それを適当な場所で
解凍すればソースが読める。
>>197 何を言うとるんだね、君は。
>>198 >
>>196 > SDK に src.zip というのが入ってると思うから、それを適当な場所で
> 解凍すればソースが読める。
ありました。
どうもありがとうございます。
それにしても、ずいぶん巨大なソース群ですね。
チラッと読んで、分かるというわけにはいきそうにないですね ^^;
200 :
デフォルトの名無しさん :03/03/15 20:00
何だ。初心者に嘘言って洗脳してるスレか。ここは。(ププ みんな、目を覚ました方がいいよ。Javaなんてどこもクロスプラットフォームじゃないから。(ゲラ
とりあえずWindowsとLinuxで動けばクロスだよ。 だからC#もクロスプラットフォーム。
Javaは1会社による1商用言語です。(wora
∧_∧ ( ・∀・) 携帯にFlush搭載だって。Javaは終わったな。 ____(____)___ / \ 旦 ___\ .<\※ \____|\____ヽ ヽ\ ※ ※ ※| |====B=| \`ー──-.|\|___l__◎..|ヽ  ̄ ̄ ̄ ̄| .| ̄ ̄ ̄ ̄| \| |〜
∧_∧ ( ・∀・) 携帯にFlush搭載だって。Javaは終わったな。 ____(____)___ / \ 旦 ___\ .<\※ \____|\____ヽ ヽ\ ※ ※ ※| |====B=| \`ー──-.|\|___l__◎..|ヽ  ̄ ̄ ̄ ̄| .| ̄ ̄ ̄ ̄| \| |〜
Javaできなくて仕事減ったからって荒らすなよな
(´ー`).。oO(どうでもイイけど Flash だよなぁ……)
コピペミスにスペル間違い。まさにリア厨。
209 :
デフォルトの名無しさん :03/03/15 20:22
削除依頼、アク金で荒らしリア厨を抹殺処刑するか
∧_∧ ( ・∀・) 携帯にFlash搭載だって。Javaは終わったな。 ____(____)___ / \ 旦 ___\ .<\※ \____|\____ヽ ヽ\ ※ ※ ※| |====B=| \`ー──-.|\|___l__◎..|ヽ  ̄ ̄ ̄ ̄| .| ̄ ̄ ̄ ̄| \| |〜
∧_∧ ( ・∀・) SolarisにJavaアプリは使えない…。Sunの内部文書だって…。 ____(____)___ / \ 旦 ___\ .<\※ \____|\____ヽ ヽ\ ※ ※ ※| |====B=| \`ー──-.|\|___l__◎..|ヽ  ̄ ̄ ̄ ̄| .| ̄ ̄ ̄ ̄| \| |〜
結局Javaのクロスでない具体例ってないわけ?
∧_∧ ( ・∀・) 最近アク禁アク禁言うリア厨が騒いでるんだ。 ____(____)___ / \ 旦 ___\ .<\※ \____|\____ヽ ヽ\ ※ ※ ※| |====B=| \`ー──-.|\|___l__◎..|ヽ  ̄ ̄ ̄ ̄| .| ̄ ̄ ̄ ̄| \| |〜
>>213 Sunがクロスに作るための情報をだしているので、
それに反するように作る。
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ´・ω・) < Javaって標準化してないんだね (つ旦と) \__________ と_)_)
Javaで日本語が表示できません。JDKは1.0.2です。
>>218 最新版の JDK を使用するか、
1.0.2 を使用しなければならない理由を明示してください。
>>219 アホアンチM$厨がいまだにwin95使ってる理由と同じです。
確か、初期のSDKでは日本語表示に制限があったような…
>>220 >アホアンチM$厨がいまだにwin95使ってる理由と同じです。
具体的にどのような理由でしょうか?
カネがない
>>220 要するに、妄想に取り付かれているのね。
じゃあ、Javaやめれば。
>>223 最新版の JDK も無料で使用できるようですが?
釣りかよ シネ
227 :
デフォルトの名無しさん :03/03/15 22:50
WinXPの時代にWin95しか使わず「Windozeは不安定」とか言うアホアンチM$厨。 JDK1.4.Xの時代にJDK1.0.Xしか使わず「Javaは遅くて不便」とか言うアホアンチJava厨。 お分かり?
このコードがコンパイルエラーになってしまいます。 ArrayList l = new ArrayList(); l.add(1); C#では全然大丈夫なのに…。 ArrayList l = new ArrayList(); l.Add(1); これでは不便でJavaなんて使えません。どうすればいいですか?
231 :
デフォルトの名無しさん :03/03/15 22:59
>>228 おいおい、括弧の中に入ってるのは何だ?
Docには
ArrayList#add(Object o)
ってかいてある
だから、数字じゃなくてオブジェクトでないとエラーになる
つまり、数字の「1」を入れたいのなら
l.add(new Integer(1))
ってやればいいじゃん
>>228 Java では Autoboxing されませんので
プリミティブ型はそのままでは ArrayList 等に入れることが出来ません。
java.lang.Integer を使うか、
int 用の ArrayList を自作するか、
素直に Java を諦めて C# 使うか、
JDK 1.5 の Generic で Autoboxing 追加されるらしいのでそれまで待つか、
死滅スレで愚痴るか、
好きにしてください。
>>231 intはどうしてObjectではないんですか?
Javaはオブジェクト指向というのは嘘なんですね?
235 :
デフォルトの名無しさん :03/03/15 23:05
まあ、そんなおまえのために Perlなんていうのもあるわけだが
PerlよりかJavaの方が幾分マシなOOPLだと思うが。
VB.NETの方がJavaよりオブジェクト指向度が高いようですね。 VB.NETもInteger型をObject型に代入できますから。
>>233 >intはどうしてObjectではないんですか?
C# で組み込み型が class でなく struct であるのと似たような理由です。
>>238 ValueType型もObjectの派生クラスですよ。
死滅スレに(・∀・)カエレ!
>>233 C#もobjectではないんだが。C#がオブジェクト指向というのは嘘といっているのと同じ。
>>237 intとjava.lang.Integerとの違い理解した発言なのかはっきりしろ
それとも単なる妄想・愚痴に近い発言をしたければお前も死滅スレへ逝け
>>239 では何故 class だけでなく struct などというものが必要なのでしょうか?
java.lang.Integerなんてループに使えない。 欠点だらけじゃないか。
/ ヽ
/ __, ィ_,-ァ__,, ,,、 , 、,,__ -ァ-=彡ヘ ヽ
' 「 ´ {ハi′ } l 阿部高和が2getだ
| | | |
| ! | |
>>1 ウホッ!いい言語
| │ 〈 !
>>3 組まないか
| |/ノ二__‐──ァ ヽニニ二二二ヾ } ,'⌒ヽ
>>4 うれしいこと言ってくれるじゃないの
/⌒!| =彳o。ト ̄ヽ '´ !o_シ`ヾ | i/ ヽ !
>>5 とことん継承させてやるからな
! ハ!| ー─ ' i ! `' '' " ||ヽ l |
>>6 いいこと思いついた お前俺の中でオーバーライドしろ
| | /ヽ! | |ヽ i !
>>7 ああ…次はオーバーロードだ
ヽ { | ! |ノ /
>>8 ところでこのインスタンスを見てくれ こいつをどう思う?
ヽ | _ ,、 ! ,
\ ! '-゙ ‐ ゙ レ'′
`! /
ヽ ゙  ̄  ̄ ` / |
|\ ー ─‐ , ′ !
オブジェクト指向じゃない言う意味には オブジェクト指向+αとオブジェクト指向−αがあるんだが、 それをごっちゃにしてないか?
>>243 はintとIntegerの使い分けが出来てないだけ。
>>243 そんなに不満があるならjava.math.BigIntegerでも使え
248 :
デフォルトの名無しさん :03/03/15 23:27
まじで「初心者」ばっかりだな
>>246 使い分けが必要な時点で、intとIntegerは違うわけだが。
煽りの前振りは無視してくれ
>>243 そう思うならJavaもC#もVB.NETも使わずにSmalltalkでも使ってろ
strutsのlogic:iterateなんかはIntegerでないとループできないわけだが。
謝れとは言いませんがこちらもちょっと大人げないのですが ムカついたので友達のハッカーに頼んで あなたの個人情報を 探ってもらうことにしました。あ、もう遅いですよ。 もうすでに友達解析始めちゃってますから・・・(^^; ちなみにこれは自慢じゃないんですがその友達は日本でも 5の指に入るくらい凄腕のハッカーです 。 この前彼の家に遊びに行ったらものの5分で他人の個人情報を 抜き取っていました。 彼にとってそれくらお赤子の指をひねるくらいの行いなんですよね(爆) これであなたもいっかんの終わりってやつですね(^^; まあせいぜい後悔してくださいね。 それからもう二度と荒らしはしないこと(その友達は荒らしが大嫌いらしいです。 荒らしを見つけたら即解析に入るみたいです(^^;) それでは、う〜ん二日後くらいかな?また例の所に来てくださいね。 あなたの住所本名住所その他もろもろのせておきますんで(笑) あ、警察とかに言ったって無駄ですよ。 あなたは荒らし(犯罪)なんだから通報したところで捕まるのは アナタです?????ぢ友達は掲示板のログを自在に操ることができるんです。 と、いうことでbye♪(^0^)/~~
>>243 不満があるなら
Numberクラスを継承して、
Integerクラスを集約して、Comparableインターフェース,
Serializableインターフェースを実装して
add()メソッド、subtract()メソッド、multiply()メソッド、divide()メソッド,equals()メソッド、
compareTo()メソッドを実装し、そのほかIntegerクラスのメソッドを委譲して
java.math.BigIntegerクラスを参考にして自分だけの独自のオリジナルクラスを作れ
>>256 そんなことやっても標準ライブラリに使われているintは消えない。
しかも無駄な努力。プロジェクトに混乱をもたらす。
標準であればよかったのだがなぁ。
>>257 アンタの会社馬鹿ばっかりなのね。たいへんね。
259 :
デフォルトの名無しさん :03/03/16 00:10
演算子のオーバーロードがない時点で糞だろ。(ゲラ
電波度が足りないから面白くないなぁ(´ー`)y-~~
>>258 コードには標準化が必要なのよ。シロウトさんには分からないだろうけど。
>>260 じゃあ、おまえが電波度たっぷりの面白いカキコしろよ。
いいだしっぺなんだから。ったく行動力の無いやつだなぁ。
265 :
デフォルトの名無しさん :03/03/16 00:23
>>259 (+)演算子オーバーロードするのも
addメソッド自作するのもいっしょだよな
やってることはおんなじだよ バカ
>>261 くずプログラマがイッパイいる会社では必要だよな、標準化。
標準化作業ヤッテルのがお前のような近視眼馬鹿だと、周りが困るがな。
はいはい、ここは初心者質問スレですよー。 ゲラ厨に釣られないでください。
よろしくメカドック ワンワン
標準化がくずプログラマがいるところだけで必要だと思っているやつはシロウト。 職業プログラマならソフトウェア工学とかXPとか少しは勉強してほしい。 本当にシロウトならどーでもいいが。
>>259 Javaが作られたとき、C++にあったオペレータ機能を、なぜJavaでは採用しなかったか答えられるか?
このスレも荒らしているわけだし、やはりゲラ厨はアク禁にすべきだと思う。
>>270 なぜStringに限って+オペレータを採用したか答えられるか?
>>269 標準化作業をおまえみたいな近視眼がやってるようなところでできた
標準化は、ゴミだろうよ。実行時性能とコーディング作業の画一化の
トレードオフで、折角Javaが「どっちでも好きなほうにしろ」という
仕様にしてくれているのに、片方を強制するのは馬鹿がやることだ。
ラッパオブジェクトのnewがCPUコスト食うことがプロファイリングの結果
分かったときにどうするつもりなんだ、この糞管理職が。本だけ読んで
理想論語ってるなら大学でも篭ってろ、この穀潰し。
>>274 > ラッパオブジェクトのnewがCPUコスト食うことがプロファイリングの結果
> 分かったときにどうするつもりなんだ
おまえはどうするつもりなんだ? 気分次第で好きな方つかえか?(w
全部staticでいいじゃん イイジャン イイジャン
標準化を肯定するのか否定するのかはっきりしてほしいよね。 頭ごっちゃになってるじゃん。
>>277 片方しか使わせないのはアホだっていってんだよ。使い分けの方針をルール
化するなら意味があるかもな。つうか、標準化ってそういうことだろ。
プログラマをコンビニのアルバイト店員レベルにする作業は、全然意味ないぞ。
業務アプリでデータの集合にラッパを使うのはいいかもしれん。
だが、ループだのフラグだのにラッパを使うのは、ノータリンの所為だ。
つうか、標準化とかいうのもドウセ上の命令か、あるいはドッかの本の受
け売りなんだろ。自分で考えてやってるならそんなところにそんなルール
つけるような馬鹿な画一化をさして標準化なんていわねーよ。氏ね、糞が。
こっちは、おめーみてーな生兵法馬鹿が上司で困った経験があるんだよ。
標準化は結構だが、能力ないのにやるな。
>>276 俺はノンケだってかまわないで食っちまう人間なんだぜ
とりあえず、つかうClassや、メンバをstaticしとけばGood コードもすっきり、どこからでもアクセスできる やってみたけど、けっこういいね
>>281 > つうか、標準化ってそういうことだろ。
当たり前だろ。
なんかごちゃごちゃ言ってるがようは標準化は重要だって事だろ。
最初っから俺が言ってることじゃん。
あんたは標準化の意味を勘違いしていたようだがな。
JFrameとかJDBCとか 名前の先頭に「J」がつくのが嫌いだ バカの一つ覚えみたいだ なんか「日本、Japan、Jリーグ、JR、JFriends」を思い出してしまう でもなぜかJakartaはインドネシアの首都 赤道通るところだっていうのは地理で習ったよ ジャポニカ学習帳っていうのもあったな
286 :
デフォルトの名無しさん :03/03/16 00:55
おまえら答えろよ。 MicrosoftSQLServer6.5 or 7.0用の JDBCドライバはありますか? フリーで、TYPE3か4のもの。Appletから使いたいので。
ふつう、JDBC-ODBCブリッジドライバ使うだろ?
こうして初心者スレは荒野と化しましたとさ
ODBCって非力な気がするんだが。
わけわからんこといってんじゃねーよ JDBC-ODBCブリッジドライバつかうんだよ
>>286 商用だけどどこかにあったな。Sybase とか Infomix とかにも対応した
JDBC ドライバ出してるとこ。
TDSDriverでぐぐれ。
ブリッジ使いたくねー。
>>286 っていうかさ、SunのJavaのページに
いろんなデータベースソフト用のドライバ探せるページあるの知らんの?
Typeも絞って検索できるよ
ま、いまざっと検索したところ 3つのベンダーが出してるよ(MSSQLサーバ用 Type3,4)
298 :
デフォルトの名無しさん :03/03/16 01:05
あ
ん?
300 :
デフォルトの名無しさん :03/03/16 01:07
が
301 :
デフォルトの名無しさん :03/03/16 01:10
>296 SunのサイトからいろんなJDBCドライバ探せるのはわかっとる。 アプレットからMS SQL Server6.5,7.0のDBにアクセスするために 使えるものがホントにあるのかってことが聞きたいの。
と
>>283 オブジェクト指向じゃねーよそんなもん。
構造化手法とほとんどかわらん。
全然すっきりしとらん。まるでライブラリ厨専用。
それにメンバ関数なんて用語は死語!
これからはUMLの時代だ。メソッドと呼べ。
>>285 そういうことも死滅スレでやれ。
Win32 APIもセンスが悪い。
個人の自由だが アプレットからSQLサーバに直接SQL文送るやり方普通はしない 「使えるもの」の意味がわからないのだが RowSetとかが、使えるかってこと?
>>303 時代は常に動いている
おまえはいつの時代の話をしてるんだ
いまは
>>286 の話題で盛り上がってんだよ
Javaでデータベース操作は、結構面白いですな
Javaからデータベースにアクセスするライブラリって 基本的な機能しか実装されてないだろ。 JDBCでほしい機能が見つかってウマーと思っても ライブラリが対応していなくてマズー。 これだからJavaは(ry
308 :
デフォルトの名無しさん :03/03/16 01:20
>304 ふつーにつかえればいい。ResultSetがきちんと取れる程度で十分。 ただしRMI、HORB、IDL、CORBAとかも一緒に使うのはダメ! やはりフリーのドライバはないのか。 Javaってなんでこうもご都合主義の身勝手な言語なんだよ。 Javaには腹が立つよ!
キミら全員死滅スレに移行してもらえませんか? ここは初心者相談スレです。
>>307 EJB使え
目先の便利さに甘えすぎるな
盛り上がってるところ申し訳有りませんが、Java JDBCは、RMIと同様の立場 まで廃れますよ。 J2EE CMPで、SQLを直接Javaプログラマが扱わないように発展していくのが トレンドっぽ。(モチロン内部では使ってるんだろうけど、見えなくなる。RMI とおんなじ。)
>>308 OracleだったらOracleにネイティブなドライバがあるんだがな。
M$はわざと用意しなかったのかな。
見つからなければ自分で作れや。
それか、個人でつかってるならMSSQLServerなんて高価なもの使うの止めて
PostgreSQLやMySQL, Firebirdなどを使え
>>308 おれは、SQLサーバー使ったこと無い
だからはっきりいうとわかんないよ
つかえるかどうかは自分で確かめるしかない
ただ、Freeだろ?ドライバって・・・
あ、30日しかつかえないのか・・・MSSQL用は・・・
MySQLにしとけ、全部Freeだよん
>>312 該当スレで次スレ要らんって言われた事あるんだけど。
> ただ、Freeだろ?ドライバって・・・ そうとは限らない。
MySQLにおいて、クエリ文はエンコードしなきゃいかんのに かえってきたResultSetからデータ取得するときにはエンコードしなくても 読める なんでだ?
>>317 クエリ文をSJISで書いてました、などというアホな理由ではないだろうな?
319 :
デフォルトの名無しさん :03/03/16 01:43
>313、314 OracleやMySqlにできるならそうしてる。 環境を変えない、つまり現状維持が大前提だから仕方なくその範囲で 情報集めてんだよ!仕事だよ。試行錯誤する価値あるならやってる。 ドライバを自分で作る時間つーか、能力があるならやってる。 そんな能力あるならそもそもここに質問しないな(藁 >311 J2EE CMP?これは知らなかった。あとで調べておこう。 Javaって流行り廃りがコロコロ変わってしょうがねぇよ。
>>311 最近はEJB使うのが大げさな場合もTorque使うのも流行ってるな。
JDBC APIの隠蔽化は確実に進んでると言える。
CMPもあともう一息だな。
>>318 え?Shift_JISですよっていうか、TextFieldから入力させてるから
絶対そうなる(M932の可能性もあるが・・・)
なんか、問題あるの?
CMPでテーブルにデータ入れたり読んだりするのはどうするんだ?
>>321 TextFiledから入力しているなら、Javaプロセス内部ですでに
16BitUnicodeのはずだが。TextFiledからgetText()する前に
エンコード済み。
…その認識だと、何か問題がありそうだな。
>>319 >Javaって流行り廃りがコロコロ変わってしょうがねぇよ。
技術の進歩と言ってくれ(ワラ
>>319 そもそも流行ってない .NET よりはマシなんじゃないかと。
>>323 え?まじで俺アホですか?
1.そういうやりかたよくない
2.どこでエンコードされているのか理解できていない
おれは、どっちですか?
>>322 CMP EntityBeanにsetすると、勝手にストレージが更新されるさね。
間の関連付け処理をAPサバが勝手にやるのがCMP。
>>324 それもかんがえたんですよね
こんがらがってきました
ちなみにやり方はこうです
String que=sqlinputfield.getText();
byte[] qby=que.getBytes("SJIS");//SJIS
ResultSet myRs=mySt.executeQuery(new String(qby,"8859_1"));
上のやり方で日本語が入ったSQL文もOKです
こんがらがらんでもええやん。 テキストフィールドへの書き込み:SJIS ↓ getText()で取り出し:SJIS→16BitUnicodeへ置換済み ↓ getBytes("SJIS"):16BitUnicode文字列からSJISのバイト配列に置換 ↓ new String(バイト列,"8859_1"):SJISのバイト配列をISO-8859-1 エンコードであると勘違いさせてStringに変換("8859_1"なんてエイリア スあったっけ?) ↑なんでここでこんなことをしてるの?ドライバの仕様?
332 :
デフォルトの名無しさん :03/03/16 02:00
ここは●●JAVAって死滅しちゃうの???? PART5●● の 次スレが立つまでの避難場所です。
333 :
デフォルトの名無しさん :03/03/16 02:01
死滅スレはの次スレはここだな。
a
aa
aaa
aaaa
aaaaa
aaaaaa
aaaaaaa
∧_∧ ( ・∀・) 携帯にFlash搭載だって。Javaは終わったな。 ____(____)___ / \ 旦 ___\ .<\※ \____|\____ヽ ヽ\ ※ ※ ※| |====B=| \`ー──-.|\|___l__◎..|ヽ  ̄ ̄ ̄ ̄| .| ̄ ̄ ̄ ̄| \| |〜
∧_∧ ( ・∀・) アホアンチがアク禁だって。 ____(____)___ / \ 旦 ___\ .<\※ \____|\____ヽ ヽ\ ※ ※ ※| |====B=| \`ー──-.|\|___l__◎..|ヽ  ̄ ̄ ̄ ̄| .| ̄ ̄ ̄ ̄| \| |〜
346 :
デフォルトの名無しさん :03/03/16 02:11
>>347 じゃあ、そのドライバがそういう実装だということなんだろう。
…とんでもないね。アメ公はダブルバイト文字に興味ないから、
ダブルバイト周辺の問題はなかなか直らないんだよね〜。
>>346 >Javaの理想も破れ、貧弱な言語と重いGUIという印象だけが残った。
>のろのろと改良を目指しているがその内容は某言語のパクリである。
>SUNの洗脳から解かれた人民は某言語にシフトしている。
>そしてこのスレにはSUN社員の手による苦し紛れの宣伝が書き込まれるであろう。
>がんばれJava厨(藁
パクリとかいってるようだがC#もパクリだろ。
C#厨だかM$厨だか知らんがこんなウザイ煽りを
>>1 に入れんのやめろ。
「アンチ厨よっといで」と前スレのリンクだけで十分だ。
こんなことこのスレに書くな。
http://pc2.2ch.net/test/read.cgi/tech/1044337040/ を避難所にしろ。「aaa」とか文字列入れて荒らすな。
,,..--―-、 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /, -----、.ヽ, / 世界、糞スレ発見! | i_,,,,_ __゙l | | ,!、i'゙-‐-: '-、|/ / __________ /'') ..., '‐-‐、.j  ̄ ̄ / ,‐!::...`'''''''`ノ _,,,l ;! ::|ヽ、二 イ , -‐'゙゛ i::.. | .ヽ/;ヽj!`‐-、_ l ノ::. .:|、 .ヽ,:ヽ| <゛~ヽ、 ,:''`` ''"゙.|;;:‐''゙|.ヽ、 ヽ;::| / .|゙l ,: ヽ::il;;! ヽ、ヽ| / | :| i o゚ :`;''゙ ヽ| / | .| i ..:::::,:::'::::: . |゚ |,,;:->、 `.、__;;/:::::::::: : | !''" | i ::.:::: : | | .| | |゚ / |
>>348 DBにアップロードする前にnative2asciiなどでASCII化して保存しておけば
いいんじゃないか?
a
aa
>>349 手遅れでした。次スレ立っちゃいました。同じ内容で。
>>348 お付き合いありがとうございました
ちなみに上のURLページで「BACK」ボタンを押せば
なぜ8859_1をつかうか解説あります
aaa
aaaa
Java厨荒らすなよ
>>351 その方法も試しましたが
駄目でした
じっさい、SQLクエリにつかわれているストリームのエンコーディングを
指定できれば何も問題ないのですが(java.ioのReader,Writerみたいに)
そういう、メソッド無いみたいですし・・・
ドライバのソース読むしかないかな・・・
おまんこ女学院
>>356 それはわかるよ。
そのドライバが、文字コードをDB側のキャラセットに直してくれないから、
DB側のキャラセットであるSJISのバイトアレイで作ったSQLをDBサーバプ
ロセスに渡してやる必要があるわけね。
ドライバをロードするときに、DBのキャラセットを渡してやると、
エンコードを内部でやってくれるようなオプション付きのドライバ
があったよ、そういえば。MySQLのドライバには、そういうのない?
ドライバ間で統一されてない。クソ。
ちなみにそのドライバは、DriverManager#getなんたらで指定する ドライバ識別名に、DBキャラセットをかく形式だったよ。
>>370 どっちかといったらJavaの担当だろ。
>>371 DBのエンコード引っ張り出して、それに応じて置換するのは、本来
ドライバの実装者の責任範囲だよ。Java側は外部システムである
DBのエンコード設定がなんなのか知らないし、エンコードの問い合
わせ方法も知らんのだから。
Javaは16BitUnicodeにすべし、でJava側は統一されてるよ。
ドライバは、DBのエンコードに置換しろと決めてあるべきだ。
>>373 どっちにしても、実装者がそのように実装してくれないとな。
オプソだと国際化対応は大抵優先度低いんだよ(ナケル
>>367 詳しいことはわかりませんが
違うドライバを今DLためしてみましたら
動作が違います
文字化けします>Resultset
ちなみに、今まで使ってたのは
mm.mysql-2.0.4-bin.jar
いまあたらしくDLしてきたのは
mysql-connector-java-3.0.6-stable-bin.jar
です
どちらもMySQLの公式HPからです
しばらくいじってみます
>>329 MySQLでmm.mysql-2.0.4-bin.jarを使っていたが、
自前でエンコードせずとも、使えてるが・・・。
ただこれからはmysql-connectorを使うべきだろう。
ちなみに、当方が使っているドライバ
mysql-connector-java-3.1.0-alpha-bin.jar
のURLの指定は、
"jdbc:mysql://127.0.0.1:3306/testdb?useUnicode=true"
スマン、今自分が書いたソースが手元にないので、適当に試してくみてくれ。 もしそれで動かなかったら、 パラーメーターで、characterEncodingも渡せるのでそれをいじる。
>>376 ありがとうございます
ちなみにこちらはMySQL4.0つかってます
なんかコレが原因だったら笑えない・・・
素直に、3.23安定版試して見ます
あ、「?useUnicode=true」の指定で出来ました>4.0 ありがとうございました
>>379 それは何より。
readmeの中にURのパラメーターについて載ってるので、
確認しておくと良い。
381 :
デフォルトの名無しさん :03/03/16 06:32
RedHatLinux8.0でJavaやろうとおもってテストプログラム動かしたら なんかFontの設定が必要みたいなんです JavaDocのfont.property読んだけどはっきりいって説明不足で よけいにわけわかりません 詳細な手順をどなたかおしえてください
383 :
デフォルトの名無しさん :03/03/16 15:28
「ここのメソッドはどういう処理をしているのですか?」という質問に対して、 「API見たの?」っていう答えが返ってくるのはわかるのですが、 「ここで、こんな処理がしたいのですが、どうしたらいいのしょうか?」という質問に対して、 「API見たの?」って言われてばかりで、迷惑かけてばかりです。 なんでもかんでも、APIを見てわかるようにならなければならないのでしょうか?
>>383 >なんでもかんでも、APIを見てわかるようにならなければならないのでしょうか?
基本的にはそーです。
> 「ここで、こんな処理がしたいのですが、どうしたらいいのしょうか?」という質問に対して、 > 「API見たの?」って言われてばかりで どんな処理をしたいのかが質問から読み取れれば、わたしなら 「○○というクラス使え」って書いてあげます。 そういうヒントが与えられてるのに、なお的外れな質問してきたら、 「API(のドキュメント)嫁!」って言います。 どうしたらいいでしょうか、って書くなら、ちょっと気を使って、 「これをするのに適しているAPIはありますか?」 とか書くといいかも。
IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB
>「ここで、こんな処理がしたいのですが、どうしたらいいのしょうか?」という質問に対して、 >「API見たの?」って言われてばかりで、迷惑かけてばかりです。 フォントをどうこうしたければ Font クラスまたはその Use、 URL をどうこうしたければ URL クラスまたはその Use、 InputStream をどうこうしたければ InputStream クラスまたはその Use、 極端だが文字列をどうこうしたければ String クラスまたはその Use を見れば、 それっぽい method は見つかる。 容易には見つからないことも多いだろうが、 容易に見つかるであろうことが予想されていれば、教える側は "API見ろ" という。
∧_∧ ( ・∀・) 携帯にFlash搭載だって。Javaは終わったな。 ____(____)___ / \ 旦 ___\ .<\※ \____|\____ヽ ヽ\ ※ ※ ※| |====B=| \`ー──-.|\|___l__◎..|ヽ  ̄ ̄ ̄ ̄| .| ̄ ̄ ̄ ̄| \| |〜
,,..--―-、 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /, -----、.ヽ, / 世界、糞スレ発見! | i_,,,,_ __゙l | | ,!、i'゙-‐-: '-、|/ / __________ /'') ..., '‐-‐、.j  ̄ ̄ / ,‐!::...`'''''''`ノ _,,,l ;! ::|ヽ、二 イ , -‐'゙゛ i::.. | .ヽ/;ヽj!`‐-、_ l ノ::. .:|、 .ヽ,:ヽ| <゛~ヽ、 ,:''`` ''"゙.|;;:‐''゙|.ヽ、 ヽ;::| / .|゙l ,: ヽ::il;;! ヽ、ヽ| / | :| i o゚ :`;''゙ ヽ| / | .| i ..:::::,:::'::::: . |゚ |,,;:->、 `.、__;;/:::::::::: : | !''" | i ::.:::: : | | .| | |゚ / |
>>388 「〜したい」ってのが個々のAPIでの「〜できる」に分割できないと難しいかもね。
そのものズバリの奴がある時は大抵簡単にみつかるし。
392 :
デフォルトの名無しさん :03/03/16 18:28
Java死滅スレあげ 厨はここに隔離!
>>391 APIドキュメントって単体では検索できないんすよね。
まぁ索引とか、フレーム使ったりとか、いろいろ工夫してあるけど。
リファレンス本くらい買いなさい、ってことで。
>>394 本だと新しいAPIに対応できないので。
>>395 > 本だと新しいAPIに対応できないので。
古いAPIすら探せないくせに
397 :
デフォルトの名無しさん :03/03/16 18:58
Java死滅スレあげ 厨はここに隔離!
(・∀・)クリッコ!!
400 :
デフォルトの名無しさん :03/03/16 19:03
C言語だと、ファイルとかと同じように標準入出力はclose()したらだめだけど Javaだとどうなるんだろう?
401 :
デフォルトの名無しさん :03/03/16 19:39
↑は騙されるとはお人好しにも程があらぁ!!
>>1 は
> >>2-
>>1000 お前はまた騙されたワケだが
と言っています。
>>400 あれ? 標準入出力って close できないんだっけか?
>>400 > C言語だと、ファイルとかと同じように標準入出力はclose()したらだめだけど
ファイルディスクリプタの複製とかやったときは普通にcloseしますけど。
⌒ ⌒ ⌒ シュルルル __⌒ ⌒ ⌒__ /::::::::::Λ_Λ::::::::::::::::::/ /::::::::::(∩;´Д`)∩:::::::/ チャラッチャラッチャーン /::::::::::::( /::::::/
IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB IDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVBIDEの起源はVB
407 :
デフォルトの名無しさん :03/03/16 22:15
あらすなよあげるぞ
>>406 VBが出来てから本格的にRADが普及したのは間違いないな。
IDE と GUI のデザイナって違うんだけどね。
IDEの起源はemacs
411 :
デフォルトの名無しさん :03/03/16 22:31
現在実行中のメソッドを文字列で取得する方法ってありますか?
まぁ、RADの起源はVBなのは確かだね。
GUIのRADツールは普及したけど、VAJみたいなロジックまで ふくめたやつはいいのがでないなあ。 パソコン関係で最初に普及したIDEっていうとDOS時代の Turboほにゃららを思い出す。
414 :
デフォルトの名無しさん :03/03/16 22:37
>>411 それはデバッガとかプロファイラレベルで細かく見ていきたいわけ?
それとも今実行中のスレッド内で自分のメソッド名を知りたいだけとか
そういうレベル?
>>415 >それとも今実行中のスレッド内で自分のメソッド名を知りたいだけとか
そういうレベルです...
>>416 new Exception().printStackTrace()
>new Exception().printStackTrace() やっぱりそこから切り出して使うのが早いですか。 ありがとうございました。
一番VMを問わない方法だったはず。
>>416 System.out.println((new Throwable()).getStackTrace()[0].getMethodName());
>new Exception().printStackTrace() やっぱりそこから切り出して使うのが早いですか。 ありがとうございました。
すみません。妙な事をしてしまいました。。
>>419 なるほど、そういうものですか。
>>420 どうもです、見てみます。
>>421 あ、正にコレです。
良く探さないですみませんでした。
>>421 ただし 1.4 以降じゃないと使えないんだよね…
現実問題として、printStackTraceの中身が違う処理系にぶつかるケースって どれくらいあるんだろう。VisualAge for JavaとかWebsphere Device DeveloperとかIBM系の一部の開発環境ってSun由来のVM使って ないけど、問題出るのかなあ。
>>425 RMI 経由の Exception だとダメとか。
>>425 バリバリでるだろ。スタックトレース解析してメソッド名や行番号を自動取得
なんてアフォなことやってる奴たまにいるけどさ (log4j もやってるな)。
Visual Age なんてこんなんだぜ?
java.lang.NullPointerException: hogehoge
void XYZ.foo(java.lang.String, int)
void XYZ.bar()
java.lang.String XYZ.hoge(java.io.InputStream)
void XYZ.main(java.lang.String[])
IE 標準の MSJVM はこんなだろ。
java.net.ConnectException: Connection refused
at java/net/PlainSocketImpl.socketConnect
at java/net/PlainSocketImpl.doConnect
at java/net/PlainSocketImpl.connectToAddress
at java/net/PlainSocketImpl.connect
at java/net/Socket.<init>
at java/net/Socket.<init>
…
スタックトレースのフォーマット自体規定されたものじゃないし、そもそも
無くてもいい (現に ThreadDeath や OutOfMemoryError は出ないことが
しばしば)。作り捨てのアプリならまだしも、基盤系ライブラリがそう作る
のはいかがなものかと。
似たような例だと Object#toString() の結果をパースしてなにやら ID
めいたものを取り出そうとする奴や「Thread#hashCode() はスレッド ID
だ」と言い張る奴とかいろいろいるけどな。
>>427 VMの実装依存の部分を利用してシステム作るアホって、いるよねえ。
どうもそのVM固有の挙動を知っていることが自慢らしい。
昔もいたな、そういうの。Cコンパイラの実装依存の部分と仕様とを
混同するゴミ野郎とか。
429 :
デフォルトの名無しさん :03/03/17 01:18
C#厨荒らすなって言ってるだろ。こっちくんな。
>>430 ということでおまえも放置される訳だが。
>>427 行番号とかを入手するための方法がなかったから、止むを得ずの実装じゃないの? > log4j
Throwable#getStackTrace() が入ったのって 1.4 からだし。
Stringのバイトサイズってどうやって調べればいいんですか? C言語みたいにsize()はありませんよね?
>>433 getBytes("文字コード").length
1バイト文字と2バイト文字の判別ってどうやってすればいいのですか?
その1文字だけを含む String 型オブジェクトを用意して、 それに getBytes() をする、ってのはどお?
hoge(char a){ if(a < 256){ System.out.println("半角"); } else{ System.out.println("全角"); } }
>436 434でも出てきているgetByteを使うのですか。 アドバイスどうも有難う御座います
まぁ
>>437 は状況によって ¢ £ ¬ あたりでダウトなわけだが
バイトサイズはエンコーディングに依存するぞ
441 :
デフォルトの名無しさん :03/03/18 02:13
org.apache.tomcat.core org.apache.tomcat.util javax.servlet.http のAPIのダウンロード先を教えてください。 J2SDK1.4.1を使用していて、JSPを学習しているところです。 検索したのですが、発見することが出来ませんでした。
おとなしくTomcatインストールすれば?
>>441 いまなら、J2EE SDKにTomcatついてます。
>>439 へ?Java内部では「UCS-2」であるべきはずですが。
>>444 ひょっとして円記号表すのに "\\" とかやってるクチ? それとも「UCS-2」と
言いたかっただけ?
¢=U+00A2 or U+FFE0
£=U+00A3 or U+FFE1
¬=U+00AC or U+FFE2
>>445 そうか、MS932以外では違うんだな;;Windowsしか使って
なかったから気にしてなかった。
447 :
デフォルトの名無しさん :03/03/18 03:44
DLしたjarファイルとかのパッケージってどうやってインポートできるようにするの? JAVA_HOME/libに突っ込んでみたけど、ダメだったぽ。
jar ファイルを classpath で指定する。
>>447 $JAVA_HOME/lib/ext とか $JAVA_HOME/jre/lib/ext とか
auがC/C++のBREWへ移行してしまって、 Javaで携帯アプリが作れなくなってしまうんでつが
>>450 よかったね。Javaでセコイメモリ管理の悪夢から解放される。
452 :
デフォルトの名無しさん :03/03/18 05:40
また、遊び道具が増えそうで楽しみだが 俺たち素人には仕様書さえ公開されないだろうな
453 :
デフォルトの名無しさん :03/03/18 05:44
? 普通 Web で仕様公開されると思うし、どこかの開発雑誌がさっさと特集 組んでくると思われ
審査通さないと公開できない(アップロードできない)ってことは 自分のauの携帯にも落とせないってことだよ(つまりテストも出来ない) 仕様書公開されても、携帯でテストできないんじゃあ・・・ 最初、auのJavaがそうだったんだよ
>>455 そうなんでつか。失礼しますた。
てっきり自分のサイトにでも置いておけば ezweb 経由で取りに行けるもんかと
思ってた。変に敷居高いんだね。
457 :
デフォルトの名無しさん :03/03/18 18:23
Javaで、 void SomeFunction(int[] x); がある場合、C言語でいう int a[100]; SomeFunction(a+7); と同じ事をやりたいのですが、どうすればいいのですか?
458 :
デフォルトの名無しさん :03/03/18 18:30
Swingでメニューバーをつくるとき、 マウスが「ファイル」や「編集」といった ボタンの上に乗るだけでWordやExcelのようにボタンが浮き上がる ようにするためにはどうしたらいいのでしょうか?
PublicKey や PrivateKey をどうやってデータベースに格納していますか? KeyPair をシリアライズ? それとも PublicKey, PrivateKey を個別にシリアライズ? "512バイト" みたいに固定データ長に出来ないかな。
460 :
デフォルトの名無しさん :03/03/18 18:38
TOMCATを使っていますがServletの変更をしたら再起動しないと反映されないんですけど どうしたらいいのでしょうか?
>>457 ポインタ演算は美しくないので java ではできません
演算開始位置の index を引数で渡すようにしましょう
>>457 素直に SomeFunction(int[] x, int index) を用意する。
>>460 admin tool 使ってみたら?
これ使うとserver.xmlの可読性が激低下するから俺は素直に再起動しているけど。
>>461 >>462 ありがとう。まぁ仕方ないのか。
逆に、配列の一部を切り取るapiとか無いのかな?
まだJava未経験です。windows環境です。 基本的な事なのですが、開発環境と実行環境の違いがよくわかりません。 無料のAPサーバとしてtomcatやAP7くらいしかないというのは何となくわかったのですが そうなるとEclipseやJBuilder Personalといった開発環境では 実行できないこということ? それとも開発環境では単体っぽい実行しか不可ということでしょうか。 2chスレでも開発環境ネタ多いのにAPサーバの話が全くでてこないも なぜなのかよくわかりません。
>>465 開発環境は開発する環境、実行環境は実行する環境。
PCで開発して PDA で実行するなら両者が違うのは分かりますよね?
例えばそういう程度のものですが、
何だかあなたの書き込みはこの論点から捩れている気もします。
あなたが今まで何を経験しているのかが分からなければ、
何で分からないのかこれ以上私(たち)には分かりません。
まず経験してみれば?
>>465 > まだJava未経験です。windows環境です。
以前のプログラミング経験は?
>まず経験してみれば? そのためにフリーの開発環境探している最中なんです。 まずどの環境がいいのかを色々調べていて BorlandのjbuildをDLしたのですが、ふとAPサーバはどうするんだろう?と思い立って聞いてみました。 話題が出ないので開発環境自体が実行環境も備えているのかとも思ったのですが。 >仕事ではunixでc/sのopen系だけです。言語はcとcobolだけ。 趣味でノートパソコンにapache+perl+php+MySQL等L入れて 適当に遊んでいる程度です。 うまく説明できなくてすいません
自分で読んで気づいたのですが 実行環境=アプリケーションサーバのつもりで書いてました。 表現力が乏しくて申し訳ないです。 全部APサーバに置き換えて読んでください。 すいません。
>>464 java.lang.System.arraycopy()
>>468 Javaで基本的な
実行環境はJRE1.4
開発環境はJ2SDK1.4
これに追加開発環境としてJakarta-ant(Eclipseでも使える)を使うと一括コンパイルなどが楽
Jakarta-TomcatをApacheにアドオンすることでApacheとTomcatを連携できる。
現在のあなたの環境に最低限必要なものは、J2SE, Tomcatのみ。
JBuilderのような統合開発環境(IDE)が欲しければEclipseを使う。
EclipseからTomcatを使いたければ、Eclipseプラグインを使って制御。
なお、これらは全て無料で入手可能
ForteもTomcatはいってるな
>>470 それ、ちょっと違うと思う
JBossなら、自動でデプロイしたら再読み込みしてくれる っていうかいまのJ2EE1.4は実装されてたっけ
色々組み合わせがあるんですね。
>>471 の内容でぐぐりまくって検討してみます。
ありがとうございました。
>>475 J2EE1.4ってまだ仕様かたまってないでそ。
今読んでる本(結城浩・著)で BufferedReader reader = new BufferedReader(new FileReader(filename)); reader.mark(MAX_READAHEAD_LIMIT); // MAX : バッファサイズ というのがあるのですが、この mark は具体的には何をやっている、何のためにあるのですか? 「独習 Java」には、 void mark(int numChars) numChars 文字が読み取られるまで、有効である入力ストリームの現行の位置に マークをつける。 とあるのですが、今ひとつ意味がよく分かりません。
480 :
デフォルトの名無しさん :03/03/19 10:36
BufferedReaderクラスのドキュメントを読んでいてちょっと不安になったから質問を。 学校の課題で、C言語のscanfに対応する関数として、以下のようなものを教授から渡されて使っています。 String read() { BufferedReader reader = new BufferedReader( new java.io.InputStreamReader(System.in) ); return reader.readLine(); } 例外とかは省いていますが、この関数ではreader.close()を呼び出していないのですが、 これで問題はないのでしょうか?
481 :
デフォルトの名無しさん :03/03/19 10:46
>>480 reader.close()を呼ぶとSystem.inも閉じられてしまうので、その方が問題です。
483 :
デフォルトの名無しさん :03/03/19 13:09
JDK のインストールに関しての質問です。 HP-UX11.00 に JDK1.2.2.14 をインストールしているんですが、エラーが出てインストールが失敗してしまいます。 WARNING: Cannot create symlink "/opt/java1.2/bin/tnameserv" to target ".java_wrapper". No such file or directory (2). ERROR: Failed installing fileset "Java2JDK_base.JAVA2-JDK-BASE,r=1.2.2.14.00". Check the above output for details. この時に表示される WARNING は tnameserv ファイルだけでなく他のファイルでもエラーがでます。 ダウンロードしてきた JDK はチェックサムをかけたのでファイルが壊れているとも思えませんし、 ためしに手動でシンボリックリンクを張ったところ正常に行えました。 また、インストール方法に以下のことが書かれていますが * Executing preDSA command. これが何を行えとの指示なのかわからないです。 UNIX 板に書き込もうかと思ったのですが、シンボリックリンクのエラーなので 他の UNIX ディストリビューションや Linux でも同様のエラーがでるのかと思い プログラム板で質問させてもらいました。 どなたか分かる方、他の OS で同様のエラーにあったことのある方がいましたら教えてください。
ちょっとした質問です。 CollectionはCollectionを含む事ができるのですか?
CollectionにCollectionを含むとは具体的にどういう事ですか?
487 :
デフォルトの名無しさん :03/03/19 22:18
public void actionPerformed(ActionEvent e) { ImageIcon hako[9]; hako[0] = new javax.swing.ImageIcon("D:\\home\\ishikawa\\B\\ほーむぺーじ\\image\\ss.gif"); hako[1] = new javax.swing.ImageIcon("D:\\home\\ishikawa\\B\\ほーむぺーじ\\image\\ss.gif"); hako[3] = new javax.swing.ImageIcon("D:\\home\\ishikawa\\B\\ほーむぺーじ\\image\\ss.gif"); hako[2] = new javax.swing.ImageIcon("D:\\home\\ishikawa\\B\\ほーむぺーじ\\image\\ss.gif"); hako[4] = new javax.swing.ImageIcon("D:\\home\\ishikawa\\B\\ほーむぺーじ\\image\\ss.gif"); for ( int i = 0; i <=9; i++){ 大正.h.setIcon(hako[i]); } }} 上記のソースコードをコンパイルしたら”大正.java [51:1] ']' がありません。ImageIcon hako[9];” と出て来ました。何が悪いのですか?
ほーむぺーじ」ってあんた・・・ プログラミング初心者でもありそうだな 全然関係ないが、フォルダ名にスペース入ってる フォルダを扱うときに「なんで、正しく動かないんじゃ?」 と、3ヶ月ぐらい悩んだことあったっけ クリちゃん見る前の話
490 :
487 :デフォルトの名無しさん :03/03/19 23:07
489.488>>ボタンを押すたびにラベルのアイコンを変えたいのですが。 プログラムはJAVAが始めてです
春の兆しを感じますた。
>>486 回答どうもありがとう。 484と485は私本人です。 484を書いた後に
‘CollectionにCollectionを含むってどういう事だろ?’て思ったので
追加の質問のつもりで書いたの。 だから名前の484てしてるんだけど。
でも、もう解決したの。ありがとう。
>>487 に触発されて、ためにしにクラスの名前をひらがなにしてみたら、
Exception in thread "main" java.lang.NoClassDefFoundError: ??
shell returned 1
と怒られますた。
494 :
デフォルトの名無しさん :03/03/19 23:51
Java AppletにするとJavaアプリケーションに比べてかなりの制限がありますが、 その制限をまとめたリソースはありませんか?
>>493 実行するときにunicodeでクラス名を指定しないとダメだよ。
>>493 前スレあたりで、がんばってる奴がいたぞ。
498 :
デフォルトの名無しさん :03/03/20 00:19
public class ゚Д゚{public ゚Д゚ ゚Д゚(゚Д゚ ゚Д゚){return ゚Д゚;]}
499 :
デフォルトの名無しさん :03/03/20 00:28
Usage: ゚Д゚ ゚Д゚= new ゚Д゚().゚Д゚(new ゚Д゚());
500 :
487 :デフォルトの名無しさん :03/03/20 01:36
・ImageIcon hako[9];という宣言がありえないところ ・クラス名に大正という日本語を使っているところ ・actionPerformedが呼ばれるたび毎回hako[0..4]をnewしているところ ・実はnewしているImageIconが全部同じところ ・hako[9]という配列外にアクセスしようとしてるところ
・日本語のパス名を使っているところ ・setIconでforループの意味がないところ
>>494-495 そうだよ、前スレでそのプロジェクトに俺も参加したよ
「ててて.class」
で、検索してみなさい
結局、うにコードで書いたバッチファイルを起動させればいいという結論になった
505 :
今日からJAVA勉強 :03/03/20 08:56
class Hello{ public static void main(String[] args){ System.out.println("Hello, World!") ; } } というプログラムをコンパイルして 実行すると Exception in thread "main" java.lang.NoClassDefFoundError: Hello というエラーが発生します。 何が悪いのでしょうか?? 教えてください。。
>>505 コンパイル(したつもりが)されてないか、
パスが通ってない。
507 :
今日からJAVA勉強 :03/03/20 09:04
>>506 このプログラムは
hello.javaというソース名なのですが
ちゃんと
hello.class
は作成されているのですが。。
> 何が悪いのでしょうか?? といわれれば、おまえがJavaに不慣れなのが悪い、としか言いようがないな。 どうせCLASSPATHに「.」が含まれてないんだろ。
その前に class が Hello なら ファイル名は Hello.java と Hello.class じゃ hello ではダメ
510 :
デフォルトの名無しさん :03/03/20 10:41
開発チーム内で使い回す、共有ライブラリ作ってるんだけど、 public class ClassName{ public static void doMethod(){} } なんて構成にして、インスタンス作らずに、各々のソース中で ClassName.doMethod(); なんて使いかたは有り? それとも、インスタンス化するような形にすべき?
webを開いたときにJABAが見れませんでした このページを正しく表示するには 次のコンポーネントをダウンロードし インストールする必要があります JAVA 仮想マシーン こういうメッセージが出たので WINDOWS UPDATEから全部ダウンロードしたんですけど まだ見れません どうやったら見れるようになりますか? OSはwindowsXPです
>>511 そのAppletがあるURIを載せてくれ
あるpackageに含まれるclassを全て取得したいのですが ClassLoader、Class、Packageのdocを見ても該当するメソッドが ありませんでした。 そこで、下記のいずれかが考えられるのですが、 皆様のお知恵をお貸しください。 1.実はこういうやり方で取得できる 2.自分で作るしかないからこうしろ 以上よろしくお願いします。
VAJを使ってjava.docを吐き出したいのですが、 javax.naming.spi.NamingManagerはエラーがあるため、 Java\ide\temp\javadoc\javax\naming\spiにエクスポート することができません。 と出てjava.docを作成できません。 プログラムはDBと接続するだけのもので、正常に動作が確認されています。 javax.naming.Contextを利用してコネクションプーリングをとっているのですが、 そこがエラーの原因のようです。 ClassForNameでの接続に切り替えるとdocを作成できます。 ここまでわかったのですが、エラーが回避できません。 どなたか、エラー回避方法をご教授願います。 友人の家では同じソースでjava.docを作成できたのですが‥・。
>>515 antを使えば楽なんだけどなー
JavaDocをjava.docとかくということは(ry
プログラムのコンパイルに成功しないコードでドキュメント生成しようとすると
JavaDocは文句を言ってくることがある。
>>517 java.docではなく、JavaDocでしたか。
java始めて2週間なので大目に見てください‥。
コンパイルに成功しないコードでドキュメントを生成するとエラーが起きること
があるとのことですが、今回のコードはサーブレット内でしっかり動いてます。
また、友人宅のVAJではJavaDocが吐けております。
>>517 言い遅れましたが、回答ありがとうございました。
>>514 以前も同じ質問を見かけたけど何でそんなことがしたいのかがわからん
オペランドスタックの実装について質問です。 速度を重視する場合オペランドスタックは静的に確保するか、 あるいは段階的に拡張・縮小するか方法しかないのでしょうか。 コーディングのし易さから言えばオペランドの要素を逐一動的に 確保したほうが簡単なのですがそれだと劇的に遅くなりそうで。 さりとて静的に確保したりすると拡張操作が面倒な気もするし。 あとプッシュの動作においてカテゴリ1,2はチェックする必要は ありますか? これもjavacを信用してノーチェックで実装すれば速度は速く なりそうですが。 なんかとりとめのない質問ですがご意見お願いします。
突然程度の高い質問がきたね。俺には答えらんないけど。 x86 でアセムブラやってた頃を思い出す・・・
>>521 何の上でそんなもの作ってるのかちょっと興味があるが・・・。
>>512 質問が広範的すぎたかも。
publicなクラス内にある、publicでstaticなメソッドは、
ある意味グローバル変数的な性格だと思うんでつ。
そこで、このpublicかつstaticなメソッド内で、たとえばストリームから延々データを
読み込むような処理をする場合。
スレッド構成のclass-Aから、このメソッドを呼んでストリームから延々やらせている間に、
スレッド構成のclass-Bからも、このメソッドを呼んで延々やらせてみたいと。
このようなケースに使う構成としては、不適切でしょうか?
>>520 「ある値によって処理するクラスを代えたい」
という発想がまずありまして…
#パッケージ下のクラスはinterfaceで定義されたexecute()を実装
値A = HogeEntry.class
値B = HogeDelete.class
と、Class#newInstance()でexecute()とできるかと考えました。
このHoge***.classの取得を動的に出来るかなと思って質問しました。
もし上記の手法よりさらに良い方法がありましたらそれも聞いてみたいです。
よろしくお願いします。
Java2になってMidiが再生できるようになったので
ttp://javaalmanac.com/egs/ javax.sound.midiのe721のサンプルコードをほぼそのまま使って鳴らしてみました。
public class testSoundCode1{
public static void main(String args[]){
try {
Sequence sequence = MidiSystem.getSequence(new File("midiFile.mid"));
Sequencer sequencer = MidiSystem.getSequencer();
sequencer.open();
sequencer.setSequence(sequence);
sequencer.start();
} catch (IOException e) {
} catch (MidiUnavailableException e) {
} catch (InvalidMidiDataException e) {
}
}
}
ところが、AppletでAudioClipを使った再生と違って、音飛びがするのです(再生されるタイミングがまちまちでプツプツ途切れる)。
SequencerからいちいちMidiMessageを取得して、タイムスタンプをつけてもう一度Sequencerに送り直さなければいけないのでしょうか?
どなたか教えて下さい。
>>524 不適切。
既存のクラスライブラリを見れば、どんなモノを static にするべきかは
何となく分かると思うぞ。
ただし何に使えるのか不明だが。
ストリームが2つなら資源は2つ、 インスタンスに資源をそれぞれ割り当てて、 そのインスタンスのメソッドで作業した方が美しい、ちうか、俺は好き。 俺なら、public class の static method でインスタンスを貰って、 その動的メソッドで処理するな
>>526 確認した。
気になるほどではなかったが、若干テンポがズレたり、途切れたりした。
Sequencerの性能がよろしくないのかも!?
533 :
デフォルトの名無しさん :03/03/20 21:11
Appletの質問ですが、サーバに置いたファイルを開くため HTMLファイルのappletタグ内に <param name=filename value="hogehoge.txt"> と書き、Javaのソースファイルで String filename = getParameter("filename"); FileReader fr = new FileReader(filename); としましたが、ファイルを開けません。 ローカルでappletviewerを使い実行してみると開けますが、 どうしてでしょうか? もしかしてsocketを使う必要がありますか?
>>525 > 「ある値によって処理するクラスを代えたい」
値とクラスのマッピングをどこかで持っておくのじゃダメなん?
そういう問題ではない?
あるいはFactory MethodやAbstract Factoryの話?
>>533 FileReader は File を開くものです。
つまり VM のあるローカルシステムのファイルということです。
Applet が置いてあるサーバのファイルを録るには、
Class#getResource() などを使います。
new InputStreamReader(
this.class.getResource("hogehoge.text").openStream()
)
などというようになります。
この方面でいろいろ試してみてください。
>>535 ありがとうございます。
URL url = new URL(filename);
URLConnection urlc = url.openConnection();
InputStream is = urlc.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
としてファイルを読み込むことができました。
537 :
デフォルトの名無しさん :03/03/20 23:19
>>525 アル値とexecuteをもっているオブジェクトのマッピングが取れれば
いいだけジャン。だったら、Mapに放り込んどいたら?こんなかんじで。
関数ポインタマップをJavaで実現しようとしたらこんな感じになるん
ちゃう?
interface アル値用オブジェクト{public void execute(パラメータ args);}
class アル値1用オブジェクト implements アル値用オブジェクト{//以下略}
public clasas Dispatcher{
private static Map map = new HashMap();
static{
map.put(アル値1,new アル値1用オブジェクト());
map.put(アル値2,new アル値2用オブジェクト());
map.put(アル値3,new アル値3用オブジェクト());
}
public static void dispatch(アル値 type,パラメータ args){
アル値用オブジェクト obj = (アル値用オブジェクト)map.get(type);
if(obj == null)
throw new NoSuchMethodException();
return obj.execute(args);
}
}
538 :
デフォルトの名無しさん :03/03/20 23:23
>>524 リエントラントなメソッドならオケ。つうかリエントラント(メソッド引数
以外は何も変更しないとか)だったら、なるべくstaticにしておくほうが性
能的によい可能性があるよん。
インスタンスメソッドの一部を切り出してstaticメソッドにするのは、よく
やるよん。
auのJavaって今でも個人で開発できない環境なのか?
>>538 なるほど。
でも、メソッド引数以外もガシガシ変更する処理なんで、
整合性がおかしくならないように、インスタンスを作ってその中で
個別に処理する方が良い感じですね。。。
staticにした上で、クラス変数を外部class-Aから変更中に、
同じクラス変数をclass-Bが変更したら、おかしくなりまつよね?
>>526 デフォルトではJREにバンドルされている
ソフトウェアシンセが使われるらしいよ。
うちの環境ではjre/audio/soundbank.gmを消したら
普通に再生されるようになった。
543 :
デフォルトの名無しさん :03/03/21 04:40
>>540 インスタンスメソッドだろうが、クラスメソッドだろうが、その
ガシガシ変更する値をしまってある場所がスレッド間で競合している
なら、何の意味もないです。そういう場合は、どっちにしてもスレ
ッド間排他処理が必要です。
544 :
デフォルトの名無しさん :03/03/21 04:52
>>521 VMでも作ってるの?
SunのJVMは、スレッド単位のスタックメモリは、十分に巨大なサイズを
スレッド開始時に固定で取ってるじょ。
メソッドコールのたびにフレームをリアロックするつもり?そんなけちな
環境ではJavaはやめたほうが。KVMとかはどうしてんのかな。
545 :
デフォルトの名無しさん :03/03/21 05:13
546 :
デフォルトの名無しさん :03/03/21 22:16
Javaで、ファイルを追加書き込みで開くオプションは無いでしょうか? ファイルサイズを調べて、最後から書き込むって言うやり方が 普通なんですか? なんか以前追加書き込みオプションがあったような気がしたんですが
使っているJavaのバージョンっていくつですか? アプレットを使うなら1.1くらいだと思うけど、1.4に比べたら ずいぶんと古いし。 アプリケーションしか作らないなら1.4かもしれないけど、アプレットを 中心に作りたい場合のアドバイスお願いします。
549 :
デフォルトの名無しさん :03/03/21 23:26
>>548 アプレットを作るのでも、1.4つかえばイイジャン。
「MS」JVMが使えないだけだよ。
550 :
デフォルトの名無しさん :03/03/21 23:28
今C言語勉強している学生ですが、平行してJavaも勉強したいと思っています。 Cを前提にJavaを学習する為にはどのような参考書で学習すればいいでしょうか?
551 :
デフォルトの名無しさん :03/03/21 23:46
>>522 >>523 >>544 お返事どもです。
始め
オペランドスタック:フレームごとに独立、個々のオペランドを動的に確保
フレームスタック:個々のフレームを動的に確保
って感じにしようと思ったんですが速度が気になって質問した次第です。
考えた結果
オペランドスタック:スレッドごとに1連のメモリ領域として確保
フレームスタック:スレッドごとに1連のメモリ領域として確保
という感じにします。
必要に応じてメモリを再確保するってことで。
オペランドのカテゴリ1,2はチェックしないことにしました。
カテゴリ2をpopしようとしてもそのまま通すことにします。
それで良いのかどうかは知りませんが。
環境は某マイナーOS、言語はC++でやってます。
完成は、、、、、、1年後かな。
VMが速めにできてもJNIコードに時間がかかるという罠。
>>548 趣味で不特定多数に向けてアプレット作るなら 1.1 レベル。
仕事でやるとか、相手を限定してもかまわないなら 1.4 レベル。
Vector と ArrayList のように、機能がよく似たクラスが用意されていますが、 どのように使い分けるのですか? C 言語の scanf のように、テキストではよく解説されているが、使わないほうがいいとか、 そういうクラスもあるのでしょうか?
>>554 Vector/HashtableとArrayList/HashMapでは、ArrayList/HashMapの方が勧められている。
いちおう、Vector/Hashtableの方は互換性のためだけに残されてることになってるけど。
でも、サンプルでArrayListよりVectorが使われてる例の方が気がする
Hashtableはあまりみないのに。
556 :
デフォルトの名無しさん :03/03/22 00:13
iモードのアプリ作ろうとおもってドコモからエミュダウンロードしたんだけど、 インストールできません。 インストールしようとすると、1.4が入っているのにjava2sdkが見つかりませんと出ます。 どうしたらよいでしょうか?
557 :
デフォルトの名無しさん :03/03/22 00:21
会社の技術会議で「オブジェクト指向って」と言う質問を皆にしたのですが その場にいた30人が皆異なる回答をしました。「オブジェクト指向」を簡単に ツボを突く回答を教えてください。
「オブジェクト指向」 = 流行です。
>>557 かりに回答があったとしても、オブジェクト指向=Java→Javaスレで聞こう
…という短絡的な考えしか持っていない君には理解できないと思われ。
>>556 環境変数JAVA_HOMEを設定してみる。
・・・思いつきだけど。
564 :
デフォルトの名無しさん :03/03/22 02:01
また問題が発生しました 僕のやりたいことは 1.文字コードを指定して 2.ファイルに追加書き込み をやりたいんですが エンコード指定のためにはjava.io.OutputStreamWriterのコンストラクタで 指定します(setEncoding()などのメソッドは無い) また、追加書き込みの指定はjava.io.FileWriterのコンストラクタで指定します (こっちも、書き込み方法を指定するメソッドは無い) この2つのクラスは継承関係にあるんですが どうやってこの二つのコンストラクタを呼んで 「指定したエンコーディング」で「追加書き込み」のできるFileWriterオブジェクトを 得ることが出来るのかわかりません 単純にFileWriter.super(OutputStream out,String enc)としても superはコンストラクタの先頭で無いと駄目といわれます(あたりまえですが) なので、自分でOutputStreamWriterを継承したクラスをつくってソコで呼び出そうとするんですが そうなると、FileWriterクラスと同機能のクラスも自作しないといけなくなり (追加書き込み機能をつかうのでどうしてもFileWriterクラス出ないと駄目) また、FileWriterクラスを継承したクラスを作っても superで呼び出されるのはFileWriterのコンストラクタだけで 2つのクラスの距離は平行線のままです どうすりゃいいんでしょうかね? (C++はやったこと無いので勘で言いますけど多重継承が可能なら出来るのかな?)
>>564 FileWriter はデフォルトのエンコーディングを使用する。よって、
>「指定したエンコーディング」で「追加書き込み」のできるFileWriterオブジェクトを得る
は不可能。
Writer writer = new OutputStreamWriter(new FileOutputStream("filename",true),"encoding");
>>564 もしくはシステムプロパティ "file.encoding" を書き換えるとか。
OutputStreamWriterのコンストラクタに FileWriterじゃなくてFileOutputStreamを与えるとよい。 でOutputStreamWriterをPrintWriterかBufferedWriterに食わせるとグッド。 FileOutputSteram fos = new FileOutputStream("filename", true); // 追加書き込みの指定 OutputStreamWriter osw = new OutputStreamWriter(fos, "Shift_JIS"); // エンコーディングの指定 PrintWriter pw = new PrintWriter(osw, true); // 自動フラッシュの指定
>>566 FileWriter のドキュメントの何処にもデフォルトのエンコーディング名はキャッシュされない、
とは書いてないので FileWriter 及びその関連クラスの実装によっては
>>566 のやり方は通用しません。
>>565-566 ありがとうございます
やはり無理ですか・・・
>>565 の方法でStringオブジェクトをgetBytes()して書き込むしかないようですね
>>526 soundbank.gmはJREとSDKの両方に入ってるけど
ちゃんと使ってるjava.exeの側のやつ削除した?
Sequencer sequencer = MidiSystem.getSequencer();
System.out.println(sequencer.getDeviceInfo().getName());
で何が出るか試してみてちょ。
573 :
デフォルトの名無しさん :03/03/22 06:29
質問でもなんでもないが java.awt.Robot っていうのあったんだね プレゼンに使えそうだ
574 :
デフォルトの名無しさん :03/03/22 06:50
質問です。いまはじめてJcreator を使って、 JAVAのプログラミング始めたんですけど、.classのファイルエクステンション はどうすれば作れるのですか?コンパイルすれば自然につくられるのか、自分 で作らなきゃいけないのか・・・・じぇんじぇんわかりません。 教えてくださいな。
コンパイルすれば作られる フォルダの中を見てみればわかるんじゃないの? ちょっとまて、いまJCreaterをDLしてインスコしてみるから
576 :
デフォルトの名無しさん :03/03/22 06:59
ありがと(@v@)
577 :
デフォルトの名無しさん :03/03/22 07:02
コンパイルしても、何も作られてないってことは クラスかプロジェクトを作る時点で間違ってるのかな・・・
いちおう、出来るんだけどさ Build>CompileProjectでこんぱいる ファイル一個ならCompileFileでもいいと思う Build>ExcuteProjectで実行 ExcuteFileでもOK ただ、なんかエディタの文字がおかしいんだよな Fontの設定いじっても駄目みたい なんか文字が重なるんだよな そんなことない?
579 :
デフォルトの名無しさん :03/03/22 07:05
あるある。私のOSだけかと思ってた。
580 :
デフォルトの名無しさん :03/03/22 07:08
だめだー。フォルダに何も作られてなーい!シクシク・・・
あ、MSゴシックにしたら直ったスマソ
最初に File>NewでProjectタブを選択して BasicJavaApplication選択してProject名付ける
583 :
デフォルトの名無しさん :03/03/22 07:11
575さん、何かすごく小さいのを手取り足取り教えてくださいな。
584 :
デフォルトの名無しさん :03/03/22 07:11
すでに教えられてた・・・
そしたら、なぜか勝手にjava.awt.Frameを継承した クラスが作られてる で、前述の方法でコンパイル、実行 できた?
っていうか、コレ動作軽いな Eclipseよりも起動早いし・・・
587 :
デフォルトの名無しさん :03/03/22 07:14
ふつつかものですが、この先しばらくよろしくお願いします。 582オッケーです!!
588 :
デフォルトの名無しさん :03/03/22 07:16
.jcw .jcpっていうのが一緒に作られてるんですけど、これは?
そしたら、左のツリーにさっき作ったプロジェクトがあるはずなので 展開してみると***.javaって言うファイルが出来てるので ダブルクリックしてみよう
590 :
デフォルトの名無しさん :03/03/22 07:19
jcw,jcpっていうのはJCreater専用の設定ファイルみたいだ たいていこういう開発ソフトはこういうものが自動で作られる ちなみに、俺たちがこのファイルを直接編集する必要は無い
592 :
デフォルトの名無しさん :03/03/22 07:21
もうすでにだめでっす。多分、作ったPATHがいけなかったのかなぁ・・もう一度挑戦。
593 :
デフォルトの名無しさん :03/03/22 07:27
TESTって言うプロジェクト名で作ってコンパイルしたんだけど、ツリーには、 test - Myproject.test -test -test() -main(String[]args) 手なってて、.JAVAがみつかりません・・・だめだめですか私は・・
わかってきました もしかして左側にウインドウ1枚しかない? 俺のは2枚あるよ とりあえずそのまま実行してみて(さっきのやり方Build>ExcuteProject
View>ToolBars>FileView押せば見れるかも ツリー
596 :
デフォルトの名無しさん :03/03/22 07:35
はっっはーん!!あるあるあるある。.JAVAもあるある。
597 :
デフォルトの名無しさん :03/03/22 07:37
ダブルクリックもオッケーですだ。
画像の高さや幅を取得するにはどうしたらいいですか? 全てコンソール上で実行したいんですが・・・
で、実行してみた?
600 :
デフォルトの名無しさん :03/03/22 07:40
何もない真っ白なウィンドウが立ち上がってる。
そうそれだ! なにも、乗っかってない空のjava.awt.Frameだ あとは、そのファイルに自分でいろいろ書けば OKって言うことだな
602 :
デフォルトの名無しさん :03/03/22 07:44
方法。じゃあ、新しいクラスをつくりたいときは、またNEWからはじめるの?
そういうことだね ただ、Projectを変えなくてもいいときは そのまま、File>NewのFilesタブでJavaFile選んでファイル名入力だけでイイ Project変えるときはProjectタブから作成する
604 :
デフォルトの名無しさん :03/03/22 07:49
ほうほう・・チョっくら5分くらいいろいろ 試してからまた質問に来ます・・
いや、もういい っていうか日本語入力できないから そんなの使うよりEclipseのほうがいいってマジで・・・
お、ツールバーのNewClassボタンでファイル作れるぞ どうでもいいが、デバッグできへんのかコレ・・・
チャットで埋めるなおぬし等
608 :
デフォルトの名無しさん :03/03/22 10:05
Apache+Tomcatを使っているのですがURLの/〜.jspを非表示にしたいんですけど どのようにすればいいのでしょうか?
609 :
デフォルトの名無しさん :03/03/22 10:31
∧_∧ ( ´;^;ё;^;)<これからも僕を殺して下さいね( ´;^;ё;^;)。 =〔~∪ ̄ ̄〕 = ◎――◎ デブおた山崎渉
APIドキュメントを眺めても分からないので質問。 String文字列の3文字目から8文字目を取り出したい、って時に何使えばいいんしょ。
612 :
デフォルトの名無しさん :03/03/22 11:51
"文字列".substring(3,5) かな
失礼 (3,8)ですね^^;
>>613-615 ありがとうございます。
substing(2,8)としたかったのですが、
こちらの説明が不十分だったばかりに余計な手間をおかけし申し訳ございません。
616 :
デフォルトの名無しさん :03/03/22 16:22
そういや今まで何回substring()をAPIリファレンスで調べたかな…
subStringにしてエラー出すことも多い(w
substr にしちゃうとか VBA でわかんなくなって頭おかしくなるとか
いろんなプログラミング言語で、似たよーな名前のメソッドになってんだよな。substring
名前だけじゃなくて、 引数が start, end だったり start, length だったり。
622 :
デフォルトの名無しさん :03/03/22 17:56
tomcatでXMLとかはじめから入ってますが javaとXMLの関係ってなんですか? XMLがあるのとないのでは何が違うのですか?
「 tomcatでXMLとかはじめから入ってる」ってどういうことかわからない。 XMLが入ってるって?XMLがあるって? わかるように書け。
>>622 tomcatの設定ファイルがXMLだから。ただそれだけ。
なんだか"XML"というソフトウェアやモジュールがあるような書き方だな。
web.xmlとかserver.xmlとかtomcatを ダウンロードするとはじめから設定されてるって事 あれはどういう意味があるのか?
>>626 >あれはどういう意味があるのか?
デフォルト。
関係って何ですかっていうのは XML って何ですかって言ってるのに限りなく近い
XMLはただのデータ書式のひとつだよ。 カンマ区切りのCSVとか名前=値で書くプロパティファイルとかいろいろある 書式のうちの一つ。
>>629 一緒に片づけてしまうのは少々もったいないけどね。
CとJavaでソケット通信をするプログラムを作成しています。 Cから構造体のデータをJavaAPに送り、byte[]で受け取るの ですがJavaでその構造体のメンバに簡単にアクセスする方法を 教えて下さい。Cのようにドット演算子でアクセスする ことはできないでしょうか?
>>617 そんなの、IDEのオートコンプリートの候補でわかるだろ。
>>631 使い方知らないけど、nioかな。やっぱり。みんな言ってるし。
>>634 いまどきそんなへぼい表示を出すIDEってなに?
少なくともEclipseは substring(int beginIndex, int endIndex) String - String って候補が出てさらにカーソルを持っていけばJavaDocから @paramの内容引いてくるぞ。
637 :
デフォルトの名無しさん :03/03/22 22:39
>>634 SunONEStudio/Forteもsubstring(int beginIndex, int endIndex)と出る。
ほんと、634はどんなへぼいIDE使ってるんだろう。。。
JBuilderもそんな表示しないでしょ?たぶん。
>>622 Cocoonが入っていればそーいうことになるんだけどな
640 :
デフォルトの名無しさん :03/03/22 22:45
641 :
デフォルトの名無しさん :03/03/22 22:54
>>631 ないです。
バイトアレイのフォーマットを自力で解析しなさい。
Cで送信するほうだってバイトアレイでしょ。
>>631 C側も自分でやっているの? そっちを組むときに
paddingとかbyte orderとかhtonlとか意識しなかった?
>>638 え、substring(int, int)って候補がでるの?
JBuilder使ってなくて良かった。
>>644 ソース無さげだな。今、マイマシンに逆コンパイラ入ってねぇっす。
あるサイトのTOPに644のプログラムのJavaがあるんですけど デスクトップではひらがなも漢字も表示されますが 新しく買ったノートで644のような状態なんです・・・
647 :
デフォルトの名無しさん :03/03/23 00:12
tomcatで3.2.3や 4.1などのバージョン違いって具体的にどこが違うのでしょうか? 何がパワーアップしてんの?
JBuilderがどうかはおいといて何で637はそんなに煽り気味なん? たとえsubstring(int beginIndex, int endIndex)と表示されたとしても beginIndex文字目からendIndex-1文字目までの部分文字列なのか beginIndex文字目からendIndex文字目までの部分文字列なのかは 結局調べないとわからないわけだが。
>>647 tomcat3.x系と4.x系では対応しているServet、JSPのバージョンが違う。
tomcat自身の機能追加もされたからパワーアップとも言えなくもないが。
どなたか教えてください
651 :
デフォルトの名無しさん :03/03/23 01:24
スレッドプールのわかりやすい説明ありませんかね?
スレッドを生成するのにはコストがかかるので、 あらかじめいくつか作っておいて、必要になったときにそれを使う&使いまわす
>>652 Javaってスレッドの使い回しってできたっけ?
LinuxにSunのサイトからDLしてきたj2sdk-1_4_1_02-linux-i586.binを入れました。
そしてテストプログラム/home/hoge/java/sample01.javaを作成し、コンパイル後に
実行してみると
>>2 にある
Exception in thread "main" java.lang.NoClassDefFoundError: Sample01/class
が表示されてしまいます。CLASSPATHには.(ドット)を含ませexportしてあります。
java -classpath . Sample01.class
としても、同じエラーが返ってきます。
試しにCLASSPATHに/home/hoge/javaも含めてみたのですが、やはり同じエラーになります・・・。
Googleでも調べてもクラスパスの問題と書いてあるサイトばかりなのですが、
何か他に見落としてる部分があるのでしょうか・・・?
以下がsample01.javaの内容です。
class Sample01
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
>>653 一度 run() を抜けた Thread インスタンスは使いまわしが利かないわけ
だが、抜けずに run() 内で wait してれば良いだけ。
>>654 java -classpath . Sample01
実行時の「.class」が余分
>>643 JBuilder も括弧の中を入力するときに int beginIndex, int endIndex って
表示されるので,そんなに困らないですよ。
>>644 フォントに Arial が指定されてるからじゃにゃーか?
MS ゴシック とかに変えてみたらどーかね。
658 :
デフォルトの名無しさん :03/03/23 03:49
いま、JDKコンパイラでためしてるんですけど、System.out.printIn でも Screen.writeintでもエラーが出るのはどうしてかなぁ・・
>>658 System.out.printInではなく、
System.out.printlnですよ。"L"の小文字。
660 :
デフォルトの名無しさん :03/03/23 03:55
それでもエラーが・・STRINGの場合は問題ないのだけど、 INTになるとエラーが出る・・
661 :
デフォルトの名無しさん :03/03/23 03:57
System.out.println(j,4) これは基本的に間違い? Screen.writeintってどんな時に使えるのですか?
>>660 エラーが出る付近のソースチョイみーせて。
663 :
デフォルトの名無しさん :03/03/23 04:01
class MonitorCounter implements Runnable { private Counter counter; private int pause; // in seconds public MonitorCounter(Counter c, int t){ counter = c; pause = t; } public void run() { for (int j = 0;j < 100;j = j + 1) { Screen.writeInt(counter.value(),4); try { Thread.sleep(pause); } catch(InterruptedException e) {return;} } } } Screen.writeInt(counter.value(),4);のところでエラーが出るの。ほかのクラスでも 同じような内容なんだけど同じところでエラーが・・・
>>661 Screenってクラス知らにゃい。どのライブラリのクラス?
あと、println()の引数の数は、無い、もしくは1つのどっちか。2つはとらない。
665 :
デフォルトの名無しさん :03/03/23 04:03
普通は何を使う?
>>664 Javaにそんなクラスはない。おそらくC#のことだと思う。
>>663 原因を考えてみた。
Screenというクラス(おそらく、表示に関わるクラス)があって、そのScreenがコンパイルされていない。
Screenというクラスはあるが、メソッド名を間違えている。
668 :
デフォルトの名無しさん :03/03/23 04:12
はじめたばっかで、カウンターのプログラムの練習してるんだけど・・・
669 :
デフォルトの名無しさん :03/03/23 04:15
ほかのクラスからの2つの引数をスクリーンに表示するところで 引っ掛かっちゃってるの。
>>669 ScreenクラスのwriteIntメソッドのソース見せて〜
671 :
デフォルトの名無しさん :03/03/23 04:18
何かの値をスクリーンに表示するときってどんなコマンド を使えばいいのですか? println()これは引数がないか1つだっていうのは分かった。
672 :
デフォルトの名無しさん :03/03/23 04:19
screenくらすっていうのはつかってないのだけど・・いちおーやったやつのせるね。 かなりの基礎ではずかしいのだけど・・・
673 :
デフォルトの名無しさん :03/03/23 04:20
まずこれが、カウントダウンクラス class countDown implements Runnable { private int n; private int pause; // in seconds countDown(int p, int t){ n = p; pause = t; } public void run() { for (int j = n;j > 0;j = j - 1) { System.out.println(j,4); try { Thread.sleep(pause); } catch(InterruptedException e) {return;} }
674 :
デフォルトの名無しさん :03/03/23 04:21
class countUp implements Runnable { private int n; private int pause; // in seconds countUp(int p, int t){ n = p; pause = t; } public void run() { for (int j = 0;j < n;j = j + 1) { System.out.println(j,4); try { Thread.sleep(pause); } catch(InterruptedException e) {return;} } } } そしてこれがカウントアップクラス。
>>673 、674は、
System.out.println(j,4);
この行がまずいポ。
System.out.println()の引数に与えられたものは、デフォルトだと、
標準出力に出力されます。
たぶん、意図としては、「現在のカウントを表示する」ということで、
System.out.println(j);
に直せば良さそう。
676 :
デフォルトの名無しさん :03/03/23 04:30
ちょっとやってみるね。
677 :
デフォルトの名無しさん :03/03/23 04:32
はっはーん。できたできた。でもね、テストクラスのScreen.newline(2); でエラー発生。 class CounterTest { public static void main(String args[]){ Runnable c1 = new countUp(100,300); Runnable c2 = new countDown(100,500); new Thread(c1).start(); new Thread(c2).start(); Screen.newline(2); } }
>>677 Screenというクラスが無いのだな。
もしや、このScreenクラスのnewlineメソッドは、空の行を空けるというメソッドなのではないかな?
そう仮定すると
Screen.newline(2);
を
System.out.println();
System.out.println();
に置きかえるといいのかな?推測爆発だけど。
679 :
デフォルトの名無しさん :03/03/23 04:37
ちょっくらやってみる。JAVAには、Cの/nに値するような ものはないの?それともprintlnがそれにあたるのかな?
>>679 こっちでもいける。
System.out.println("\n\n");
681 :
デフォルトの名無しさん :03/03/23 04:39
できたできた!!!ありがとね。 はーこんなことで3日ごに渡される課題はできるのかなぁ・・ ちょっくら心配だな・・
で、Screen.writeint() ってのはどこから仕入れたネタよ?
683 :
デフォルトの名無しさん :03/03/23 04:43
教科書・・・教授かなりいっちゃってる?
こんな推測だけの回答で良かったのだろうかw 下手すると、まったく違ったものが、できあがった可能性が。
685 :
デフォルトの名無しさん :03/03/23 04:50
いちおね、どういう風になるかって言うスクリーンショットが載ってるんだけど、 それと同じになってるからかなりおっけー!っさ。ありがと。
とりあえず、ウチの会社に就職すんのは辞めてくれよ。
687 :
デフォルトの名無しさん :03/03/23 05:05
これに味を占めて、課題が手に入ったらここに速攻作戦さ。 どこをどう間違ったか、いちおーWEB開発会社のマーケティングマネージャ なのさ・・・ぜんぜん開発にはかかわらないんだけど、大学ではいちお 絶対専攻科目だから・・・C++のほうが簡単・・・って言うか慣れだねきっと。 今日で始めて3日目、がんばっちゃいます。
688 :
デフォルトの名無しさん :03/03/23 05:07
使えるコマンドとかがいまいち知識不足だ・・・
>>679 System.out.println() で出る改行はプラットフォームの改行だけど、
'\n' はプラットフォームの改行とは限らん。それはC言語でも同じ。
>>687 3日もかかってこんなレベルか…
C++ でも大した事できんのだろーな。
692 :
デフォルトの名無しさん :03/03/23 07:00
Javaのクラスは、全て実行時ダイナミックリンクですよ。 それさえわかってりゃ、C++がわかる人間なら困ることは 無いはずだが。
コンパイル時/実行時に .java/.class を付ける/付けないとか、処理を モジュール分割 (クラス分け) する方法が分かんなかったりとか、標準 機能に何があってどうやって使うのか分かんなかったりとか、最初の頃は いろいろあったなぁ (JDK 0.9 の頃)。
>>657 フォントを変えるというのは
インターネットオプションで変えるんですか?
>>694 コントロールパネルで何をどうするんですか?
698 :
デフォルトの名無しさん :03/03/23 14:02
JDBCに挑戦しているのですがいきなりつまずいています。 MYSQLにて、sampleというテーブルからデータを取り出しているのですが Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("select * from sample"); ResultSetMetaData mdata = rs.getMetaData(); for (int i = 0; i < mdata.getColumnCount(); i++) { System.out.println(mdata.getColumnName(i)); } エラーが出ます SQLException: Column index out of range. SQLState: S1002 VendorError: 0 もし気づいた点があれば教えてください
699 :
デフォルトの名無しさん :03/03/23 14:07
>>698 ふつうにselect * from sampleの結果は取れてんの?
for (int i = 1; i <= mdata.getColumnCount(); i++) {
701 :
デフォルトの名無しさん :03/03/23 16:20
>>699 とれてるはずなんですけど
コマンドラインからやるとちゃんとできます。
>>700 それに変えてみた結果
デバッグモードでやるとカラムの数だけループしているのですが
System.out.println(mdata.getColumnName(i));
をしているのにもかかわらず、何も表示されていないのは
なぜでしょう。
>>698 iがいくつのときに例外が発生しているの?
703 :
デフォルトの名無しさん :03/03/23 16:27
文字コードなどは関係あるんでしょうか?
704 :
デフォルトの名無しさん :03/03/23 16:42
JDBCドライバーを3.06から 2.0.14に変更したところ上手く行きました。
706 :
質問=705 :03/03/23 21:59
707 :
デフォルトの名無しさん :03/03/23 21:59
すんません アプレットでローカルファイルに書き込みにいこうとすると java.security.AccessControlException:って怒られてしまいます どうすれば回避できますか?
>>707 jarsignerでjarファイルに署名を入れる。
709 :
デフォルトの名無しさん :03/03/24 00:09
abstructや抽象メソッドってどこで使うものですか? ぜんぜん使い道ないのですか?
継承して使えばよい
>>709 抽象的なモノに対してユーティリティメソッドを書ける。
>707 アプレットはセキュリティ制限でクライアント PCのファイル読み書きは例外吐くよん。 アプレットが置いてあるサーバ上のファイルなら 問題なし。制限は署名で外せるけど・・
>>712 >アプレットが置いてあるサーバ上のファイル
に、「書き」ができると。
>>709 最初のうちはわからない、使わないでも問題なし。ただ、いずれは必要になる知識。
継承によるクラスの拡張とか、ラッピングクラスによる機能追加(機能制限)を考えて
いくと、abstractクラスやメソッド、interfaceの重要性がわかる。
まあ、作ったソフトのリファクタリング(再設計)をやれば、必要になってくるものだと
思う。
715 :
デフォルトの名無しさん :03/03/24 02:01
>>709 1人で作る分には、有難さがあんまり実感できないと思うよ。
根本的に「コピペで良し」と思ってるマには一生理解不能。
>>714 できれば、設計の段階でinterfaceは決めておいてほしい。と。
716 :
デフォルトの名無しさん :03/03/24 02:02
とりあえず、Template、AbstractFactoryあたりを 理解したら使い道見える。
デザインパターンはカンケー無い
721 :
デフォルトの名無しさん :03/03/24 02:42
JDBCにて、 50万件のレコードを抽出して、50万件を更新する。 効率良いのはどの方法? 1.フェッチして更新。フェッチ後の最後のインデックスを保持して次回の フェッチのWHERE句に含める。 2.select count(インデックス) from TABLE で件数取得後、 適当数レコードを取得→更新、取得→更新、取得→更新。 3.いや、ストアドでしょ。 4.いいえ、抽出と更新を別なスレッドで行います。 5.50万件?全件ResultSetに持って来いや。話はそれからだ。
>>721 とりあえず、更新が途中で失敗することも考えると
一気にやるのは良くない
2の方法がいいと思う
ただ、件数取得にはもっといい方法ある
>>719-720 >>709 の質問の答えとしてデザパタなんて持ち出す必要あるのか?
デザパタじゃなきゃabstructや抽象メソッド使っちゃいけないように聞こえるぞおまえら
>>723 >>716 よく見ろよ。
デザパタわかればabstractの有効性もわかりやすいっていってるだけだん。
>>721 DBMSによって最適化されるポイントが違うので、どれが一番速いかは使ってるDBMSによって禿しく違う
DBMSによってはプロファイル取ると、アドバイス的な物をくれることもある
個人的にはストアドにしとく
でも大抵は、SQLで書けるところは全てSQLで書いた方が速いと思う
>>721 「効率」が実行効率なら、ストアドでそ。
>>727 煽られただけだん。
なぜそこまでムキになってるかわからん。
abstruct って書いてる人は同一人物かな?
>>727 結局interfaceと同じだと思うよ。abstract
>>731 一部、実装の継承があったらなあ、というときはabstractを「interface」
の感覚で使う、というくらいだな。別にどっちでもええ。
外部に公開するAPI作ってる時に、実装とインターフェイスを切り離すと
いい感じよ。
公開するのをinterfaceだけにして、実装しているクラスのほうは公開し
ないようにすると、ヘンなメソッドにアクセスされないで済む。
実装クラス側に、ユーザに触って欲しくないpublicメソッドがあったら、
Interfaceのシグネチャからはずすとよい。
> 公開するのをinterfaceだけにして、実装しているクラスのほうは公開し > ないようにすると、ヘンなメソッドにアクセスされないで済む。 そのへんって本当は public/protected/private/パッケージプライベート 等の アクセス制限でやるべきことなんでは?
>>733 同意。それこそ、「デザパタ勉強しなさい。」
>>733-734 C++のfriendに相当する機能が、パッケージプライベート出しか実現でき
ないので、どうしても隙ができるのよ。
つうか、本読んでるだけで大規模実装経験が無いのにえらそうなこと言うな。
>>735 ごめん、本読んでるというより、本書いてるんだわ、俺。
>>736 本書いてるだけで大規模実装経験無いやつね。使えない奴がよく本書くよね。
サイズが大きくなりすぎたクラスを、friendを利用して切り分けるくらい
のことは、普通にやるだろ。で、再利用するためにパッケージをまたがせる
ことがあるんだよ。
>>736 最近いい加減なゴミ本が多いなとおもったら、お前が書いてるのか。
いい加減にしろ。
>>735 まぁ Java のアクセス制限は friend程は融通利かないと思うけどね。
>サイズが大きくなりすぎたクラスを、friendを利用して切り分けるくらい
普通ってーか、クラス本体をリファクタリングできないけど、
再利用しなきゃいけない場合… かな?
friendで切り分けってのはさすがに聞いたことないけど、EclipseのAPI マニュアルにはinterfaceだけ書かれていて実装クラスはのってないことが 多いな。で実装クラスはorg.eclipse.*.internal.*ってパッケージに属してて できれば使うなってことになってる。
>>741 そーゆーのは Java 全般でやってるね。
実装パッケージを丸ごと隠蔽してしまうということは、よくやるよな。 ・JDBCドライバ実装とJDBC API ・Xalan XercesなどのXML操作ライブラリ実装とJAX-P API
pacage privateクラスやメソッドを利用して一つのパッケージ内部でクラスを 分割するって、普通じゃないのか… どうやってるの?設計どおりに実装したら、あるクラスだけやたらでかくなると いうのはごく普通に発生する事態だと思うんだが、うちの設計担当がアホなだけ なのか?
>>745 でかいわホットスポットになりそうだわで良いこと無しな予感。
FAIL(シッパイ) FAST(直ぐに)でしょ。特殊な用語じゃないよ。
>>747 じゃあ、
・クラスとして分割することは、概念上リーズナブル
・外部に対してはすべて非公開
というとき、どうするの?
751 :
デフォルトの名無しさん :03/03/24 16:18
追い全部嫁ね^ぞかす
753 :
デフォルトの名無しさん :03/03/24 16:42
質問です。 値渡しと参照渡しの違いについて教えてください。
754 :
デフォルトの名無しさん :03/03/24 16:49
>>752 全部読む、を押しても白紙ページが表示されるのは俺だけ?
>>753 値私 あたいがわたされる。
参照私 さんしょうがわたされる。
758 :
デフォルトの名無しさん :03/03/24 18:29
class Hello { public static void main(String args[]) { System.out.println("Hello Java"); } } ここまで理解できたのですが、もうjavaは覚えることありませんか? あるなら教えていただきたいのですが。
ありません
C#なやつらがデラゲーツデラゲーツうるさいんですが、 Javaには、似た機能ってないのですか?
761 :
デフォルトの名無しさん :03/03/24 20:09
文字列に対して簡単な可逆性の暗号化を施したいのですが、 どのようにすればできるのでしょうか? 厳密な意味での暗号ではないです。パッと見で元の文字列が 分からなければOK。できるだけ処理負担が軽い方がいい。
>>760 ない。interface 使ってやりくりするしかないかと。
>>761 バイト配列にして XOR かけるとか、シーサー暗号とか。
暗号化の基礎の基礎といえばこれか。 public class Rot13{ public static void main(String[] args){ byte[] rot = args[0].getBytes(); // 暗号化 for(int i = 0; i < rot.length; i++){ rot[i] += 0x13; } System.out.println(new String(rot)); // 復号化 for(int i = 0; i < rot.length; i++){ rot[i] -= 0x13; } System.out.println(new String(rot)); } } } 実行結果 % java Rot13 hogeほげ {?x菩陛 hogeほげ
StringBuffer#reverse()
>>763 rot[i] ^= 0x13
のほうがよくね?
>>765 うん。その方がいいね。ただね、XORだと実行結果がいまいちおもしろくないんだわ。
>>762 ,763
Thanks. 基礎の基礎から勉強してみます。
ところで、「Rot13」の「Rot」ってどういう意味ですか?
辞書で「Rot」を調べたら「腐敗」と載っていたのですが・・・
768 :
デフォルトの名無しさん :03/03/24 21:16
たった今Javaを勉強することを決意したのですが、 コンパイラとかはどういうのを使えばいいのでしょうか? 今までCだったのでBCCとGCCはあるのですが。 これらはJavaでも使えますか? 出来ればCでいうlsi試食版みたいな、いかにも入門向けのやつが欲しいです。
>>767 ちなみに、僕らがよく知ってるrottenも「腐った」って意味だよ。
771 :
デフォルトの名無しさん :03/03/24 21:59
JTextPane、DefaultEditorKitらへんが書いてあるサイト ってないですか?
772 :
デフォルトの名無しさん :03/03/24 22:00
携帯JAVA 特にJ−PHON用で SIN、COSを使用して画像を円周上に回転表示させる方法教えてください! 時計でいうと秒針のところに画像を表示させるみたいな感じですが。
773 :
デフォルトの名無しさん :03/03/24 22:20
>>768 じゅうぶん使える。
Javaソースからclassを生成するようにBCC、GCCを使って
プログラミング。
774 :
デフォルトの名無しさん :03/03/24 22:22
>>772 で、どこまで理解してて、どこまでやってる?
まさかソースを提示させようなんてオゾマシイことは
考えてないよね。
>>768 sunのサイトでJDK(SDK)ダウンロードしる。
あとはメモ長&どす窓。
で、めんどくさいと思ったらSunONEStudioなりEclipseなり使え。
>>761 >Rot13のRot
Rotation
777 :
デフォルトの名無しさん :03/03/24 23:00
>>774 イマイチSIN、COSの使いかたがわかりません。
携帯だからMATHはつかえないし。
J−PHONのパッケージ使わないといけないし。
クラス Util3Dのほうを今はつかってるのですが
public static final int sin(int a)
a - 角度(4096分円単位)
とかかいててWhileで無限ループさせて
角度を増やしているんですがね。
x=sin(角度)*半径+中心X座標
4096分円単位で角度をどういれれば?
後、クラス FixedPointをつかっての
COS、SINで円の円周の座標の求めかたが
まったくわかりません。
とりあえずJavaを解説してるページをぐぐってみました。
そしたら、どこのサイトでも「JDKをインストールしろ」とあったので、
JREとか言うのをインストールしてみました。
今度は「インストールが成功したかどうか確認するためシェルウィンドウからjava -versionと入力しろ」
とあったので、Cygwinでそのように入力してみました。
でも、command not foundと表示されるだけで何も起こりません。
自分の乏しい英語力でこれを訳すと「んなコマンドねぇよ」だと思うのですが、
これはどのように対処すればよいでしょうか?
あと、
>>775 さんの言う通り、SDKってのもあったのですが、JREではダメなのでしょうか?
どなたかご教授お願いします。
>>779 わざわざSDKって書いてやったのに。。。
おまえ、アフォだろ。
勝手に検索しる。
>>780 ゴメンなさい。JREダウソした時は
まだ775さんの書き込みを呼んでなかったので・・・。
これからSDKってのをダウソしてみます。
しかもcygwinか.... また詰まると思うので、「cygwin java sdk」辺りで検索しる
あ、どうもアドバイスありがとうございます。 ちょっと頑張ってみます。
>>781 そういうことね。
SDKにしないと、コンパイラがないから、勉強できない。
あとは、javaコマンドやらjavacコマンドへのパスの設定。
785 :
デフォルトの名無しさん :03/03/25 00:39
おいおい、何かわからなくなったときは略語の意味を考えろよ。 JREのどこに開発キットと書いてある!?
786 :
デフォルトの名無しさん :03/03/25 00:41
エディタ&javacやらjavaをある程度使ったら、 Eclipce使ってみて。
>>784 SDKじゃないとコンパイラがなんですか・・・。
Cだとコンパイラとエディタ用意するだけなのに
Javaは少し環境設定がメンドくさいですね。
それで今
ttp://www.mars.dti.ne.jp/~sohda/cygwin/java.html というページを参考にしてインストールしようとしているのですが、
このページで紹介されているラッパーという言葉の意味が分かりません。
e-wordでも調べてみましたが、見つかりませんでした。
このラッパーというのはどういうファイル形式で保存すれば良いのでしょうか?
あと、このページでの設定はSDKでも出来ることなのでしょうか?
ご教授お願いします。
788 :
デフォルトの名無しさん :03/03/25 00:47
>>784 VM上で動作するからね。
でも、基本的にコンパイラとエディタを用意したら大丈夫。
ラッパー?実装でのラップなら解るけど、他は知らん。
>SDKじゃないとコンパイラがなんですか・・・。
→SDKじゃないとコンパイラがないんですか・・・。
間違えました。
>>786 アドバイスありがとうございます。
当分先のことになりそうですが、ある程度慣れたら使ってみようと思います。
エディタってのはJava専門のものじゃないとダメってことはないんですよね?
自分は普段Vimなのですが・・・。
790 :
デフォルトの名無しさん :03/03/25 00:51
cygwinでやるまえに、根本の動作原理を理解した方がよくない? winで動くんだからわざわざcygwinからやる必要ないじゃん。
791 :
デフォルトの名無しさん :03/03/25 00:52
792 :
デフォルトの名無しさん :03/03/25 00:54
俺も最初は環境設定わけわからず。でした。 プログラムのプの字も知らないままJava突入。 とにかくHelloWorldやるべし。
>>787 >このラッパーというのはどういうファイル形式で保存すれば良いのでしょうか?
そのサイト独自のものをココで聞かれてもねぇ。
どう見てもテキストファイルなのだが。
っつうか、わかってなさすぎ。
Cygwin使わずに、まずふつうにコマンドプロンプト/DOS窓でやれ。
>>790 そうですね。
DOM窓でもJavaのコマンドを追加するには、
やはりSDKをインストールするだけではダメなのでしょうか?
環境変数などもよく分かっていないので、ちょっと調べてみます。
C言語ゴリゴリ解るやつ裏山氏。
Cygwin使うくらいだからシェルは使ったことある? ls -l の為ではないことを祈る。 PATHとクラスパスは理解しないと先に進めないです。 頑張ってください。
>>796 シェルってbashとかってヤツですよね?
使ってますよ。もともとcygwinはgccのために導入したんですけどね。
>>797 わざわざページリンクありがとうございます。
JNIとか難しいことはよくわからないのですが、
とりあえずJavaでプログラミングをしたいのです。
答えになってなくてすみません。
800 :
デフォルトの名無しさん :03/03/25 01:25
Webで探すのもいいけど、 書籍を購入して、載ってるとおりのことを 一通りやった後にWebあさった方が良い。とも思った。 やっぱり、金かけると少しはプレッシャーでしょう。 買ったからにはやらなければ。と。 自分が通った道なもので・・・。
801 :
デフォルトの名無しさん :03/03/25 01:27
>>801 本当に何から何まで申し訳ないです。
FlashGetというソフトを使って落としていたので、それがいけなかったのかもしれません。
とりあえず今そこから普通にダウンロードしています。
ちなみにWindows98のSEなのですが、バージョンが対応してないとかはありませんよね?
803 :
デフォルトの名無しさん :03/03/25 01:34
ちなみに、関連付けされてないのはファイルがおかしいのではなく、 貴方のシステムに関連付いてないだけなのです。
>>799 なんか、しったか君くさい気がするんですが。。。
勉強のためには本は必ず買うように。
Webだけでは勉強しづらい。というか、Webは調べるためにあるんだ。
805 :
デフォルトの名無しさん :03/03/25 01:38
>>803 そうですね。
というか、本当だったらexeファイルがダウンロード出来るはずなのに、
全く意味のない壊れたファイルみたいなので出来たのです。
表現の仕方が悪かったですね。
>>804 あ、自分も勉強するには必ず本を買うようにしています。
なにしろ急に思い立ったことだったので、とりあえず環境だけでも整えとこうと思って。
明日にでも本は買いに行くつもりです。
807 :
デフォルトの名無しさん :03/03/25 01:41
その本には、J2SEが付属している。と。
言語としてのJavaをよく理解しないまま先に進むと、 そのバックグラウンドに控えるJava技術に圧倒される。
>>805 どうもありがとうございます。
でも、まだインストールも出来てないので、無事完了したら参考にさせて頂きます。
>>807 そうだったら本当にみなさんに申し訳ないですね。
>>809 まぁ、本についてるJ2SEは古いし。
良くて1.4.0でそ。
あした、「お勧めの本はなんですか」という質問が来るに100カノッサ。
>>808 そうなのですか・・・。
まだ自分は「Javaはオブジェクト指向な言語でクラスとか色々ある」
くらいしか理解できてないので心配です。
Cが理解出来ていれば、Javaもスラスラ理解出来るでしょうか?
>>811 アバウトすぎるぞ(w
とりあえず、Javaの言語使用や構文なんかよりも
「オブジェクト指向」についてちゃんと勉強した方がいいと思うぞ。
Cやってたんなら尚更だ。
>>810 あ、オススメの本くらいは自力で調べます。
せっかく専門のスレもあるわけだし。
なにより教えて君ばっかりじゃ、みなさんに申し訳ありません。
>>811 言ってることは理解できる。
でもやっぱり最初は言語仕様でしょう。
徐々にオブジェクト指向を学ぶ比率を増やした方が
Cプログラマには入り易いと思われます。
>>813 ためになる本は選ぶもんであり調べるもんではない。
816 :
デフォルトの名無しさん :03/03/25 02:12
>>816 君のおかげでPCの時計が妙にずれてることを発見できたよ。ありがとう。
クソレスでも役に立つもんだな。
>>814 アドバイスありがとうございます。
そもそも「オブジェクト指向は大切だ」「Cは少なくともオブジェクト指向でない」
と言っている人が多かったのでJavaを始めようと思ったのです。
これから、Javaを勉強してオブジェクト指向の理解を深められたらいいなぁと思います。
>>815 そうですね。実際自分に合ってるのを選ぶのが一番ですよね。
じっくり手にとって選んでみたいと思います。
みなさんすみません。ちょっと睡魔が中学生の限界に来てしまって、今日は落ちます。
せっかくご指導頂いてるのに本当に申し訳ないです。
明日もまたお邪魔させて頂くかもしれません。
その時は、またどうかよろしくお願いします。
>>818 > みなさんすみません。ちょっと睡魔が中学生の限界に来てしまって、今日は落ちます。
> せっかくご指導頂いてるのに本当に申し訳ないです。
> 明日もまたお邪魔させて頂くかもしれません。
> その時は、またどうかよろしくお願いします。
チャットはよそでやってくれよ。
ここは君だけが利用するためにあるスレッドじゃないのだから。
820 :
デフォルトの名無しさん :03/03/25 02:57
インスタンスって新しくクラスを使う時に使うと思うのですが 参考書とか見ると別にnewしなくてもクラスを使えるのってありますが これの違いって何ですか? 同じディレクトリフォルダ内にあれば 別のクラスを使うとき特にnewしなくても使えるんじゃないのですか? あと Class classA = new Class() と Class classA Class = new Cclass() 違いってなんですか? 参考書など見ると同じクラス内で使い分けしてるみたいですが
821 :
デフォルトの名無しさん :03/03/25 02:59
>>820 Class classA
classA = new Class()
の間違いです
>>821 一緒です。特に使い分けも無し。お好きな方をどうぞ。
って言うかセミコロン省いてんじゃねぇよぼけ。
824 :
デフォルトの名無しさん :03/03/25 03:15
インポートでjava.util.*;とかjava.swt.*;とか 〜以降のjava〜フォルダが対象ってことだと思うけど これの区切り位置って変更できますか? デフォルトだとjavaより階層が上のフォルダは固定化されてますが 逆に言えばなんでjavaからのディレクトリを指定するだけでimportできるのですか? それより上の階層のディレクトリ構成は指定しなくてもいいのですか?
>>824 >インポートでjava.util.*;とかjava.swt.*;とか
java.swt.*; は無いです。いまのところ。
>>1-4 あたりの CLASSPATH に関して読んでみれ。
>>824 Sun の JRE の場合 java.* パッケージは rt.jar の中に入ってるのですが,
これは自動で読み込まれるようになってる (Windows 版の場合 jvm.dll が読む)
ので改めて指定してやる必要は無いです。
しかし、中学生のうちから、こういう質の高い情報得られるっていいよなぁ。
828 :
デフォルトの名無しさん :03/03/25 09:11
携帯JAVAでcos使用しての円のX座標出し方 これではだめですか?原点(0,0)半径60で45度の場合 x = Util3D.cos( 512 ) /4096 * 60
>>828 すくなくともDoCoMo503iアプリではだめだ。
830 :
デフォルトの名無しさん :03/03/25 10:55
>>829 自分で解決できたかも。
x = Util3D.cos( 512 ) *60 /4096
にしたら座標がでてきた。
ちなみにJ用ね
>>830 > 自分で解決できたかも。
おめでとう。
とりあえず、整数の掛け算割り算は、掛け算を先に、ということを身をもって知ったわけだね。
どうも昨日の768です。 今日SDKをインストールして、パスを通したらちゃんと使えるようになりました。 コマンドラインからjava -versionと入力して、ヴァージョンが出た時は、 思わず感動で涙が出そうだったです。 本当にみなさん厨房の戯言に付き合って頂きありがとうございました。
>>832 おはよう。
じゃあつぎは
class Hello{
public void main(String[] args){
System.out.println("あふぉ?");
}
}
ですかな。
>>833 そうですね。
昨日一日頑張って、まだスタート地点ですから。
本は買いに行こうと思ったのですが、今日はあいにくの雨で・・・。
雨がやんだら本は買いに行こうと思います。
JavaってCみたいにヘッダファイルをインクルードしなくていいんですか?
public void main(String[]args)ってのは、いかにもint main(void)っぽいんですが。
となるとブロックで囲んであるからSystem.out.println()の部分はprintf()でしょうか?
>>834 あんた才能あるわ。なのに何で自分の才能を信じない?もったいない。
>>835 中学生をおだてすぎちゃだめだよ( ̄ー ̄)
Javaにはincludeに対応するものはない。似たようなものもない。
勉強してるとimportが似たようなものと思うかもしれないが、動き的には全く違う。
結局の使い方は似てるかも知れないが、動きが違うことをしるべし。
>>836 中学生を甘やかしすぎちゃダメだよ(−_−)
>>835 いえいえ、そんなことありません。
Cでhello worldの出力出来たら、多分誰でもわかりますよ。
>>836 そうなのですか。関数とかの呼び出しはないのですか?
もしかして、System.out.println()ってのは予約語?
そういえば、前にオブジェクト指向について調べた時に、
「オブジェクト指向とはメッセージのやりとりだ」とありました。
これはヘッダファイルにメッセージを送って、直接インクルードしなくても、
情報を引き出せるということなのでしょうか?
768がうちの近くに住んでて、かわいいオンナノコなら、手取り足取り指導してあげるのだが。 あいにく、うちのまわりは雨が降ってないので近くないようだ。
>>838 かなりずれてるが、本よんでないなら仕方ない。
まぁ、自分で調べつつがんがれ。
>>837 とまあ、こんな感じで甘やかさないようにしてみたが、どうか。
>>838 import は Cでいうライブラリ (Java では *.class もしくはその集合を zip 圧縮した *.jar) から
*.h を、コンパイル時にその都度自動生成しているようなもんだ
というか *.class に *.h が内包されているというか・・・
でも役割範囲は C とは違うから自分で掴んでいくのがいいと思う
と、横槍で甘やかしてみる
>>839 残念ながら自分は漢ですw
>>840 そうですね。早く雨がやむと良いのですが・・・。
>>842 なるほど。
でもコンパイル時に自動生成ってことは、
コンパイル形式はスタティックリンクだけなのですか?
ダイナミックリンクはないのでしょうか?
>>842 それはなんかちがうよ。
importはたとえばjava.awt.Imageというクラスが
import java.awt.Image;
もしくは
import java.awt.*;
と書くことによってImageという省略形で書ける、という意味しかない。
importを書かなければ、java.awt.Imageとすれば使える。
>>844 うむ、漢か。漢なら自力でがんがれ。
>>845 確かにそうだ。import と include の関係は嘘だ。俺は頭が死んでいる。
>>844 >でもコンパイル時に自動生成ってことは、
>コンパイル形式はスタティックリンクだけなのですか?
>ダイナミックリンクはないのでしょうか?
寧ろ逆だが・・・余計なこと云ったかも知れん。
ひとまず忘れてくれ・・・
>>845 うーむ、なんか難しいですねぇ。
自分はまだクラスとかの概念も分かってないので調べてみます。
今、コピペですがHello World.と出力するプログラムが作れました。
実行ファイルは.classと言うのですか。
普通に.exeが出来ると思っていたのでちょっとビックリです。
>>847 どっと疲れるな・・・
「Java なソフトは一度作ればいろんな OS で動く」って聞いたこと無いか?
exe が Mac で動くか おうおう
>>848 >>849 ですよね。
Javaを選んだ理由の1つに、移植性があるからってのもあったのですが、
基本的なところを見落としてました。
今、クラスのこととかぐぐってみて、基本的な構造は理解しました。
ネタでした。
>>851 移植性っていうのはちょっと違うな。
Javaのタテマエとしては、移植しなくてもさまざまな環境で動くということだから。
というわけで、環境依存のexeはできない。
もまいら中学生に釣られすぎ
>>855 こういう、まったりした釣りは歓迎する。春らしくてよい。
857 :
デフォルトの名無しさん :03/03/25 16:02
JSPやサーブレットのことで質問したいんですが ファイルアクセスのとき、そのファイルをプログラム側でロックする必要はありますか? たとえば、アクセスカウンターをファイルに保存しておく場合など Perlの場合だったらロックする必要があったんですが JSPやサーブレットの時はどうすればいいんでしょうか? それとも、サーブレットコンテナが勝手にやってくれるんですか? ちなみに「ファイルをロック」って言うのは、ファイルを読み出し書き込み最中に 他の人、他のプログラムなどから読み込み書き込みをできないようにして 処理が終わるのを待っている状態のことです
>>857 書き込むなら気にする必要ある。
でも、書き込みメソッドをsynchronizedしておけば気にしないでいい。
>>858 ありがとうございます
ああ、やっぱりそういうことも考えないといけないんですね
ということは、サーブレットっていうのは
ユーザーが同時に同じサーブレットにアクセスしてる場合に
ユーザーそれぞれにスレッドを自動的に割り当てているっっていうことですか
すいません、さらに疑問が出てきて教えて君でスイマセンが 関係ない別の二つのサーブレットがあって そのどちらもが同じファイルを扱う場合 synchronizedは有効ですか? それとも、こういう仕組みでWebアプリ組むのは危険ですか?
>>860 まぁ、ファイル操作のところを排他的にすれば、それなりには有効なんじゃない?それなりには。
>>854 そうなのですか。
UNIXやMacのことはよく知りませんが、UNIXだと確か実行ファイルの
拡張子が.outだったような気がします。
確かにそれだとexeファイルが使えないからマズイですよね。
またJavaに関する少ない知識が1つ増えました。
あとちなみに
>>853 は偽です。
その頃自分は鼻血垂れてました。
>UNIXだと確か実行ファイルの拡張子が.outだったような気がします。 違います。
>>862 >UNIXだと確か実行ファイルの拡張子が.outだったような気がします。
…
知識が少ないのは Java に関してだけでは無いよーで。
>>864 リアル厨にしてはマシ
だけど、甘やかし(・д・)イクナイ
ので
>>862 はもっと勉強するように。
>>865 リアル厨でこんだけできれば立派な釣り師だと思われ。
>>860 関係ない別の二つのServletが同一VM内で動くかどうかによる。
一応 1.4 以降だと nio の FileChennel で排他ロックできるけど。
>>860 おなじContextなら全く問題ない。
ただし、synchronizedの意味がわかっての話。
>>863 >>864 すみません。知ったか君してました。
本当に自分パソコン自体分かってないですね。反省です。
>>869 >本当に自分パソコン自体分かってないですね。反省です。
がんばってそこから始めよう。まだ若い。時間は腐るほどある。
>>869 気にするな。
戦場で生きていけないぞ。
質問させてください。 見たいサイトがあるのですが、 入るには「java仮想マシン」のダウンロードが必要というメッセージが出ます。 なのでダウンロードしてみるんですが、なんの変化もありません。失敗しているようです。 なにかご教授頂けますでしょうか?宜しくお願い致します。
>>872 なにをつかっててなにをだうんろーどしてなにをしたのかこいちじかんいかりゃく
>>870 >>871 そうですね。頑張らないといけませんね。
こんなリアル厨房を励ましてくれてありがとうございます。
875 :
デフォルトの名無しさん :03/03/25 17:30
interfaceっていつ使うのですか? 今まで別に一回も使ったことないのですが どういう処理をするときに有効なのでしょうか?
>>875 Plug and Playとかで有効です。
>873 すみません、もう何がなんだか全く分かってない者なんです。 とりあえず逝ってきます。
>>875 デバイスドライバーとか、ハードよりのプログラムを書くときに購読します。
879 :
デフォルトの名無しさん :03/03/25 17:45
初心者なので よくわかりませんが ハードよりのプログラムってどういったものですか?
>>879 落ちたら困るプログラムをそう呼びます。
えっと、それでプログラミングに関する質問なのですが class test{ public static void main(String[] args){ System.out.println("Hello World."); } } っていう、Hello World.って出力するプログラムで class testの部分のtestってのは100%そのファイル名でいいのでしょうか? ここの部分を変えてしまうとコンパイル時にエラーを出されます。 要するにクラスってのはひな形のことなんですよね?
>>879 ネタだよ。
interfaceはコールバックが必要なときに使うことが多い。
たとえば、ボタンが押されたらこのメソッドを呼ぶ、とかそういう処理。
概念的な意味はそれどころじゃないのだが、まずそんな感じ。
>>881 そろそろここに頼るのやめれ。
雨もやんだだろ。本かってまずじっくり勉強せろ。
>>883 そうですね。
ご飯食べ終わったら買いに行こうかと思います。
本当にみなさん何から何までありがとうございました。
この感謝は一生忘れません。
>>885 感謝より、5月ごろに、成長した書き込みしてくれ。
>>887 次はコンストラクタ辺りの質問をしに来る予感。
なぜintはnewがいらないんですか?とかかも。
そしてその次はなぜint[]はnewが必要なんですか?とかかも。
>>891 それはあるな。
AppletViewerの使い方はどうだろう。
と、このスレは768がどこで引っかかるか予測するスレになりました。
>>891 あ、int[] aとint a[]は違いますか?も有力。
これだろ、 「急にプログラムが実行できなくなってしまいました。 "java Hello"とやっても"mainが無い"と怒られます。 助けてください。」
895 :
デフォルトの名無しさん :03/03/25 20:30
Solaris2.6+JDK1.3.0.4で、 String command = "mv " + sSrc + " " + sDst; Process process = Runtime.getRuntime().exec(command); process.waitFor(); int iReturn = process.exitValue(); とやってファイルを500個ほどコピーすると、 ファイルディスクリプタを食いつぶしてlibthread panicになります。 フリーズした子プロセスをkillしてしばらくすると、 またファイル移動を始めます。 ファイルディスクリプタを増やさずにmvコマンドを呼べないのでしょうか?
896 :
デフォルトの名無しさん :03/03/25 20:57
new String()で、巨大なStringオブジェクト(数MB程度)をいくつも開くと、 物理的なメモリ容量が足りなくなった時に例外は出ますか? OSのSWAPは絡むんでしょうか?
>OSのSWAPは絡むんでしょうか? そらVMである前にそのOSのアプリケーションです。
898 :
デフォルトの名無しさん :03/03/25 21:14
>>823 ヴォケが。
説明になっとらん。
スコープ考えると必然的に
Class class;
class = new Class();
になる。必要なときにnewするのが原則。
同期化を意識する必要がないならメソッドまたがって
インスタンス変数使うことあるだろうがよ。
ヴォケが。 説明になっとらん。 スコープ考えると必然的に Class class; class = new Class(); になる。必要なときにnewするのが原則。 同期化を意識する必要がないならメソッドまたがって インスタンス変数使うことあるだろうがよ。ヴォケが。 説明になっとらん。 スコープ考えると必然的に Class class; class = new Class(); になる。必要なときにnewするのが原則。 同期化を意識する必要がないならメソッドまたがって インスタンス変数使うことあるだろうがよ。ヴォケが。 説明になっとらん。 スコープ考えると必然的に Class class; class = new Class(); になる。必要なときにnewするのが原則。 同期化を意識する必要がないならメソッドまたがって インスタンス変数使うことあるだろうがよ。
ヴォケが。 説明になっとらん。 スコープ考えると必然的に Class class; class = new Class(); になる。必要なときにnewするのが原則。 同期化を意識する必要がないならメソッドまたがって インスタンス変数使うことあるだろうがよ。ヴォケが。 説明になっとらん。 スコープ考えると必然的に Class class; class = new Class(); になる。必要なときにnewするのが原則。 同期化を意識する必要がないならメソッドまたがって インスタンス変数使うことあるだろうがよ。ヴォケが。 説明になっとらん。 スコープ考えると必然的に Class class; class = new Class(); になる。必要なときにnewするのが原則。 同期化を意識する必要がないならメソッドまたがって インスタンス変数使うことあるだろうがよ。
ヴォケが。 説明になっとらん。 スコープ考えると必然的に Class class; class = new Class(); になる。必要なときにnewするのが原則。 同期化を意識する必要がないならメソッドまたがって インスタンス変数使うことあるだろうがよ。
902 :
デフォルトの名無しさん :03/03/25 21:52
tomcatを終わらすときに ×で終わるのは絶対に駄目だとか言われましたが shudown.batで終わらすのと×で終わらすのではどう違うのですか?
903 :
デフォルトの名無しさん :03/03/25 21:57
shudown.batの中見てから言え
905 :
デフォルトの名無しさん :03/03/25 22:02
絶対に。とまではいかないだろう。 batでやれてるんだから手動で同じことやればいいじゃん。
906 :
デフォルトの名無しさん :03/03/25 22:04
909 :
デフォルトの名無しさん :03/03/25 22:23
×で終わらしたら何で駄目なんだよ 何か不具合でも生じるのか?
910 :
デフォルトの名無しさん :03/03/25 22:30
最近javaを始めてみてアプレットで円が少しずつ大きくなるようなプログラムを 作ってみたのですが大きくするたびに中心部分がずれてしまいます。 円の中心を中心に大きくするにはどうすればいいのでしょうか? お願いします教えてください
912 :
デフォルトの名無しさん :03/03/25 22:36
Javaプログラムから、Cで作った実行可能ファイル(.exe)を起動するようなAPIってありますか? 逆に、CのプログラムからJavaプログラムを起動する方法ってあるのでしょうか?
913 :
デフォルトの名無しさん :03/03/25 22:37
914 :
デフォルトの名無しさん :03/03/25 22:43
>>895 リソースリークのバグの一種かな。
ところで、なんでMVごときに外部プロセスなんか使うの?
File#renameTo(File)使えばええやん。
>>896 JVMはデフォルトの最大ヒープサイズが64MBに決まってるっす。
ヒープを消費し尽くした場合、最後のオブジェクトのnewのコール時に
OutOfMemoryErrorという例外の一種が飛び、newがキャンセルされる。
OSにどんなに余裕があっても、VMのリミットがきたらOutOfMemoryError。
最大ヒープサイズの変更がしたいなら「java -X」コマンドを実行してみそ。
ヘルプ出るから。
915 :
デフォルトの名無しさん :03/03/25 22:46
916 :
デフォルトの名無しさん :03/03/25 22:50
>>909 Tomcatを動かしているJVMがイキナリシャットダウンしても問題ないならいいんじゃないの?
普通のサーバは、メモリ上に一時保存されているコンテキスト情報とかをストレージに
退避するとかの終了処理でやっとかないと、クライアントから文句がきそうだけど。
918 :
デフォルトの名無しさん :03/03/25 22:53
ぎゃふん
>>895 mvコマンド呼ばなくても
Fileクラス使ってJavaだけでファイル移動はできるでしょ。
それじゃだめなん?
>>895 process.getErrorStream().close();
process.getInputStream().close();
process.getOutputStream().close();
って明示的に閉じてもダメなん?
パーティション越しの File#renameTo() が出来ない実行環境があったような。 IBM JDK 1.3 (Linux) だとリネーム先のファイルが既に存在するとリネーム失敗 するだとか、mv コマンドのオプションが使いたいだとか mv /dev/null hoge みたいなデバイスファイル扱いたいだとか、理由考えりゃいろいろあるわな。 つーか、mv の子プロセスが -i で入力待ちになってるにもかかわらずマルチ スレッドで走らせまくり、なんてオチは無いよね?
あと、mv が終わるごとに process.destroy() やってみれ。
924 :
デフォルトの名無しさん :03/03/26 02:25
925 :
デフォルトの名無しさん :03/03/26 02:25
つーか、皆さん、Javaでディスク書き込みするアプリを開発する際、 ディスクの残り容量を取得するのに、どんな方法使ってるんでしょう?
>>925 即レス、サンクスコ。。。マジっすか?
やはりJava-APIのみでは不可能ってことですか?
928 :
デフォルトの名無しさん :03/03/26 02:35
>>928 クスコ
やはりその手しかないですか。。。
GPLかLGPLのフリーのLib、どっかに転がってないですかね?
Java2も1.4にもなれば、ディスク残量取得くらい、
APIのみでできても良さそうな気もしますが。。。
>>929 1.5 で、その辺改善されるかもしれない。
931 :
デフォルトの名無しさん :03/03/26 02:45
>>930 たしかJCPのJSRに「標準インストーラ構築APIを作る」っての
があったな。アレの中でやらせてもらえるかもね。
>>932 クスコ。参考になった。
THU JUL 11 10:08 A.M. 2002の、smiths氏のカキコになんか納得。
やっぱJNIかexecでしのぎまつ。
935 :
デフォルトの名無しさん :03/03/26 03:06
>>933 おお、ファイルシステム操作周りが改善されるのか。いいねえ。
1.5ってβリリースが来年度の予定だっけ?
936 :
デフォルトの名無しさん :03/03/26 03:10
なんだ、10万ファイルが存在するdirでFile.list()すっとバグるのか。 しらんかった。
937 :
デフォルトの名無しさん :03/03/26 03:24
>>936 しかし、そのバグが発覚する環境ってすごいな。
どんなファイル管理してるんだろ。
938 :
デフォルトの名無しさん :03/03/26 03:29
>>937 >>932 のリンク先に、この件のバグ報告?があったよ。
しかし、世界中のJava開発者が、ディスク残量取得に悩んでるんですね(笑)
939 :
デフォルトの名無しさん :03/03/26 03:32
>>938 でもって、にたようなJNIのインプリが大量に世界中にあるんだろうな。
ほんとに、誰か公開しないのかね(ワラ
ビット演算で質問です。 A&B -> A∩B A|B -> A∪B A^B -> A∪B - A∩B であってますでしょうか?
Vector ってなんて読みます?べくたー?べくとる?
俺はベクトルかのぉ。周りはベクター派が多いが…。 まぁどっちで読んでもプログラムには関係ないと思うが…。
>>943 > まぁどっちで読んでもプログラムには関係ないと思うが…。
ベクトルと読むと紛らわしいから、ベクターと読んでいる人が多いのでは?
関係ないということはないと思うけど。
で、それが Java とどう関係あるの?
947 :
デフォルトの名無しさん :03/03/26 06:53
try {
URL url = new URL("
http://www.google.com/ ");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.disconnect();
} catch(IOException e) {
}
このようなコードで接続できず例外が発生した場合、carch()内で
disconnect()することを考える必要はあるのでしょうか?
「ウイルスベクター」って変じゃない? 英語読みかドイツ語読みかはっきりせえ。
>>946 読み方しらないと会話にさしつかえあるでつ。
>>949 いや、だからそれが Java と何か関係あんの?
開発者間で意思疎通さえとれれば、ウンコーとでもチンポーとでも読んで構わんだろう?
>>950 charの読み方ってJavaに関係ないの?
ウィルスベクターならJavaに関係なさそうだが。
>>947 try {
URL url = new URL("
http://www.google.com/ ");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
try{
conn.setRequestMethod("GET");
}
finally{
conn.disconnect();
}
} catch(IOException e) {
}
とでもするのがいいんじゃなかろうか。
>>952 これってfinally節を必ず実行するの?おれはこう書いてた。
HttpURLConnection conn = null;
try {
URL url = new URL("
http://www.google.com/ ");
conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
} catch(IOException e) {
...;
} finally{
if(conn != null){
try{
conn.disconnect();
} catch(IOException e){}
}
}
>>953 openConnectionがちゃんと実行されるなら、必ずdisconnectしてよいのではなかろうか。
接続されなくて例外が発生すればそのままそとのcatchに逝く
>>953 の書き方だとむだな条件判断と、connのスコープがむだに広いのでなんか嫌な感じ。
ただ、そもそもここまで気を使って書くこともすくない。
>>949 だからねーつってんだろうが。char なんて色んな言語にあるわい。
Java に限った話じゃないっつの。
>>954 httpに限らず953みたいな書き方は普通だと思うな。
ファイルストリーム周りとか。過去スレでちょっと
もめた?気もするけど最終的には異論はなかったはず。
finally節中、何もしないcatchのコメントの書き方
とか違う方面で話は進んだ気がする。
>>956 とりあえず、すっきり書けるのにまわりくどい書き方するのがなんだか。
>>955 ( ´_ゝ`)フーン
で、charってなんて読む?
大変です。これが分からないとカスピ海が埋まってしまいます。 カスピ海のためにも是非教えてください。 今、そのアプリ自身がどのディレクトリにいるかを知るのってどうするんでしょう?
>>959 勝手にうまっとけ。
それか、「アプリ」が「ディレクトリにいる」ということの定義しる。
>>957 コードの見通しが悪いだろう?
スッキリ書くのと短かく書くのは違うぜ。
>>959 言いたいことは何となく分かるが不可能だ。
>>962 クラスのパスなら
Class c = this.getClass();
String className = c.getName().replace('.','/') + ".class";
String s = c.getClassLoader().getResource(className).toString();
みたいな感じでとれるけどね。
>>960 ,962,964皆様ありがとうございます。カスピ海は諦めることにしました。
966 :
デフォルトの名無しさん :03/03/26 11:53
>>966 ノノノノ
( ゚∋゚) やらないか
/⌒\ /⌒\_______
| ̄ヽ二ミ ∩ _ |
|_________\_| | ___丿____|
/_____________\彡ノ_________\
‖ \ヽ ‖
ヽミ
>>959 確実な手段じゃないけど、
環境変数を得て、PATH とか CLASSPATH に書かれてる場所を片っ端から検査するとか。
このスレ全然初心者大歓迎じゃないじゃん
>>974 初心者とそれ未満のバカは明確に区別、差別される。
>>974 結構初心者にはまともに相手してると思うけど。
自分でなにもしないやつは放置だけど。
>>952-953 懐かしいネタだな。書き方の好みの問題ではなく
>>953 の方がより好ましいと説明した
のは 1 年くらい前だったか。あの時はファイルの open/close の話だったかな。
リソースの開放に関しては
>>952 でも
>>953 でも滞りなく行われるだろう。ここで問題
なのは try-catch ブロック内で例外が発生し、その影響で finally 内のリソース開放
処理も例外になった場合だ (多重障害)。
>>952 のように記述した場合、外側 catch で
捕らえられるのは「クローズに失敗した」という副作用的な情報だけである。つまり、
障害の根本原因の情報が副作用的な情報によって上書きされてしまうという弊害が出る
可能性がある。
try{
SomeResource resource = getSomeResource();
try{
// このブロックのどこかで例外が発生
} finally {
resource.close(); // その影響でこの処理も例外
}
} catch(SomeException ex){
// ここで捕らえられる例外は close に失敗したという情報であり、try ブロック
// 内で発生した例外ではない
}
ここでの話の焦点はかなりのレアケースである。だからこそ、書き方の好み云々ではなく
本番運用中の一発勝負で障害解析ができるだけの配慮がなされているかが重要と思われる。
でも
>>953 でも finally 内の catch ブロックで printStackTrace() くらいやっとい
てもよかったかもな。
また 1 年後くらいに同じネタが振られそうな悪寒。
Java 初心者が質問に答えるスレですが何か?
>>977 >多重障害
同意
try{
throw new Exception("ぬるぽ");
}
finally{
try{
throw new SomeException("ガーン");
}
catch(SomeException e){
}
}
というとき、"ぬるぽ"はどうなりますか?あぼーんですか?
>>979 なんでそんなコードが出てくるんだ… try-catch-finally の挙動分かってる?
>>980 Σ(゚д゚lll)ハンカクカナでおながいします
>>981 >>977 で言えばresource.close()での例外をfinallyの中で捕まえたらどうなるの?ってことなんですが。
>>984 char=ぬるぽ
ってことで決着でつね?
>>979 ぬるぽが try-catch-finally の外に飛び出る。てか、やって見れ。
>>986 ほんとだ。
じゃ
try {
URL url = new URL("
http://www.google.com/ ");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
try{
conn.setRequestMethod("GET");
}
finally{
try{
conn.disconnect();
}
catch(IOException e){
}
}
} catch(IOException e) {
}
のほうが
>>953 より好み。うほっ。
>>987 俺はインデントが深くなるのが気になるので
>>953 みたいな書き方をするが、
指摘した件は
>>987 でも満たしているので後は好みの問題だな。
>>988 どっちも最深3段だし、あまりインデント的には変わらなくない?
まぁ、好みの問題なのかな。
setRequestMethodで発生した例外とdisconnectで発生した例外の処理される順番というのもあるだろうけど。
それもまぁポリシーの問題か。
>>989 いや、
>>987 でいう内側の try-catch ブロック内に長々と実処理を書くことに
なるから、その部分のインデントが深くなるのが気になるだけ。
993 :
デフォルトの名無しさん :03/03/26 21:21
>>954 そもそも気を使って書く癖をつけなさい。
>openConnectionがちゃんと実行されるなら、必ずdisconnectしてよいのではなかろうか。
openConnectionがちゃんと実行される保証はどこにもない。
「connがnullでない場合=ちゃんと実行されている」だから
if(conn != null)と聞くのは正しい。っていうか定石。
オープン出来なかったコネクションを終了時にクローズしようとする方が
激しく気持ち悪い。JDBCで同じことやってみろ。悲しい結末になる。
要は、気を使えってことだ。
>>953 からスコープがどのくらいなのか、厳密にはわからないだろう。
ここで生成したコネクションを今後どう使うかわからんだろ?安全な範囲で
広いスコープにしておくのは常識。
無駄に広いなんて言えない。むしろ、良い例なのだ。
>>988-989 インデントにはスペース二個が最適
よって気にならず
誰か次スレよろ。
漏れスレ立てられない。
次スレ立てる人へ、 次スレ立てるときはテンプレートが全てレスされるまで常にsageでテンプレートをレスしてください。
>>993 openConnectionが実行されないということは例外が発生してるはずだろ。
だから、disconnectの時点では必ずopenConnetionしてる。
>>995 スレを立てると一番上に上がるのですが?
1000GET!!!
静かだねぇ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。