トップページ⇒tech
1001コメント350KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/11/07(水) 22:39:09
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc10.2ch.net/hp/

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

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

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

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

次スレは>>980あたりで。
0153デフォルトの名無しさん2007/11/10(土) 16:06:06
"<html>AAA<br>BBB<br>CCC"
0154デフォルトの名無しさん2007/11/10(土) 16:15:52
>>153
それをしたら枠の中で改行してしまいました。
改行に合わせて枠が広がるようにしたいんですけど、どこを弄ったらできるのか……。
0155デフォルトの名無しさん2007/11/10(土) 18:31:30
>>152
JScrollPaneにJTextArea貼ったようなTableCellRenderer作るってのはダメ??
0156デフォルトの名無しさん2007/11/10(土) 18:47:37
throwsはなくてもあっても見た目以外は同じというのは本当ですか?
0157デフォルトの名無しさん2007/11/10(土) 19:13:30
RuntimeException/Error 系の throws 節記述については、コードや javadoc を見る人間に
明示する以外の目的はない。これを見た目以外同じと表現するのはまぁかまわないだろう。

それ以外の例外は、throws 宣言していないと throw 出来ない、サブクラスでオーバーライド
する時に throw 出来る例外を勝手に追加できない、などの制約が出てくるので、見た目以外
同じというのは間違い。
0158デフォルトの名無しさん2007/11/10(土) 19:15:00
処女と非処女はあそこの締まり具合以外は一緒というのは本当ですか?
0159デフォルトの名無しさん2007/11/10(土) 19:15:58
ありがとうございます。
あやうくhttp://www5c.biglobe.ne.jp/~ecb/java/11_06.htmlの
ホームページにだまされるところでした。
0160デフォルトの名無しさん2007/11/10(土) 19:25:40
>>159
それはまさに >>157 の上 2 行の意図でそう書いていると思う。
0161デフォルトの名無しさん2007/11/10(土) 19:52:37
157の3行目のthrow 出来る例外を勝手に追加できないとは、基底クラスがなんでも
追加できるってことですか?
0162デフォルトの名無しさん2007/11/10(土) 20:01:17
>>161
スーパークラスで throws 宣言されている例外のサブクラス以外は、オーバーライド先で
throw できない (RuntimeException/Error除く)。

public class A{
  public void hoge() throws IOException{…}
}

public class B extends A{
  public void hoge() throws SocketException{…}  // ←OK
}

public class C extends A{
  public void hoge() throws SQLException{…}  // ←コンパイルエラー
}
0163デフォルトの名無しさん2007/11/10(土) 20:22:45
ありがとうございます。
あやうくhttp://www5c.biglobe.ne.jp/~ecb/java/11_05.htmlの
ホームページにだまされるところでした。
0164デフォルトの名無しさん2007/11/10(土) 20:24:48
awtでlabel内の文字を改行するにはどうしたら良いですか?
0165デフォルトの名無しさん2007/11/10(土) 20:27:06
>>163
べつにおかしなこと書いて無い気がするが
0166デフォルトの名無しさん2007/11/10(土) 20:30:21
>>164
AWT の Label クラスはそんなことでけまへん。
編集不可/スクロール不可の設定した TextArea 使うとか、GridLayout で Label を縦に並べるとか、
カスタムで作るとかしてください。
0167デフォルトの名無しさん2007/11/10(土) 20:31:52
http://www5c.biglobe.ne.jp/~ecb/java/01_08.html
これをみてもおかしくないというのか?
0168デフォルトの名無しさん2007/11/10(土) 20:32:24
>>166
解りました。ありがとうございます。
0169デフォルトの名無しさん2007/11/10(土) 20:35:32
個人の解説ページなんて大抵は俺様メモなんだかからどうでもええがな。
0170デフォルトの名無しさん2007/11/10(土) 20:35:59
>>167
>モーニング娘。の中で1番目にかわいいのは後藤真紀だと思います
言語の解説サイト作ってる人ってそういうのが多い気がする
0171デフォルトの名無しさん2007/11/10(土) 20:50:29
いや、亀井絵里だろ
0172デフォルトの名無しさん2007/11/10(土) 21:17:52
java.util
インタフェース Iterator
は手動でIteratorインターフェイスをタイピングしたものと同じものですか?
0173デフォルトの名無しさん2007/11/10(土) 21:23:03
Japanese OK.
0174デフォルトの名無しさん2007/11/10(土) 21:26:56
>>172
>手動でIteratorインターフェイスをタイピングしたもの

って何?
interface OreOreIterator {
boolean hasNext();
Object next();
void remove();
}
みたいなやつのこと?
0175デフォルトの名無しさん2007/11/10(土) 21:28:31
>>174
それのことです
0176デフォルトの名無しさん2007/11/10(土) 21:30:25
同じ・違うの定義が良くわからんが、
とりあえずいえる事は、まったく互換性はないよ
0177デフォルトの名無しさん2007/11/10(土) 21:51:59
public static int[][][] copyArray(int[][][] copy){
int returnArray[][][] = new int[copy.length][][];

for(int k=0; k<copy.length; k++){
returnArray[k] = new int[copy[k].length][];

for(int j=0; j<copy[k].length; j++){
returnArray[k][j] = new int[copy[j].length];

for(int i=0; i<copy[k][j].length; i++){
returnArray[k][j][i] = copy[k][j][i];
}
}
}
return returnArray;
}
三次元配列をコピーするメソッドを作ったのですが、うまく動きません。
どこが悪いのか教えてください。
0178デフォルトの名無しさん2007/11/10(土) 21:52:18
陰線処理にを1方向からだけでなく
2方向から行うにはどうすればいいですか?
01791772007/11/10(土) 21:57:05
申し訳ありません、投稿してからも考えていたら解決しました。
呼び出し方の方が悪かったようです。
ありがとうございました。
0180デフォルトの名無しさん2007/11/10(土) 23:31:34
前スレでキーイベントの溜まりすぎについて質問してから
EventQueueについて調べていたのですが、
API仕様を読んでもいまいち理解できず、実用例も見つからず、
普段から動いている別スレッドであるという事しか分かりませんでした。

EventQueueの使い方、もしくは実用例を教えてください。
0181デフォルトの名無しさん2007/11/11(日) 02:38:36
>>137
自分の場合、DefaultTableCellRendererの機能を使って、JEditorPaneに貼り付けたhtmlを表示させた。
JEditorPaneをgetPreferredSize()して、それをsetRowHeight()する。
>> Dimension d = JEditorPane.getPreferredSize();
>> JTable.setRowHeight(row, d.height);
0182デフォルトの名無しさん2007/11/11(日) 03:04:13
凄腕のjava使いになるにはどうしたらいいですか?
0183デフォルトの名無しさん2007/11/11(日) 03:20:13
JScrollPaneに乗せたJTextAreaに大量の文字列をAppendすると
勝手に一番下までスクロールした状態になってしまうのですが
そうさせないような良い案があったら教えてください
0184デフォルトの名無しさん2007/11/11(日) 03:39:37
>>182
人に聞く前に自分で解決できる男になることだ
0185デフォルトの名無しさん2007/11/11(日) 09:17:34
>>182
消えろゆとり
01861852007/11/11(日) 09:20:37
JAVA初心者です。
intとかpublicなどの用語の読み方が分らないのですが、
検索出来るサイト、あるいは専用の辞書などはあるのでしょうか。

よろしくお願い致します。
01871862007/11/11(日) 09:21:22
すみません、いきなり誤爆してしまいました。
0188デフォルトの名無しさん2007/11/11(日) 09:30:00
誤爆したと見せかけて親切な人のマジレスを期待する。
さすがゆとり技w
0189デフォルトの名無しさん2007/11/11(日) 09:35:36
>>181
ありがとうございます。
早速試してみます。
0190デフォルトの名無しさん2007/11/11(日) 09:56:13
ディファインで検索してみて
0191デフォルトの名無しさん2007/11/11(日) 11:22:12
>>183
viewPortじゃね?
0192デフォルトの名無しさん2007/11/11(日) 13:28:46
>>183
appendした後で元に戻せばいいんじゃない

Point p = scrollPane.getViewport().getViewPosition();
大量のappend
scrollPane.getViewport().setViewPosition(p);
0193デフォルトの名無しさん2007/11/11(日) 13:30:53
>>186
そういうのはこっち向きかな

情報処理用語の読み方を確認するスレ
http://pc11.2ch.net/test/read.cgi/tech/1056173956/l50
0194デフォルトの名無しさん2007/11/11(日) 13:51:59
publicすら読めないってどれだけゆとり馬鹿なんだよ。
中学の英語からやり直せ。
0195デフォルトの名無しさん2007/11/11(日) 13:53:29
>>191,192
こんなものがあったのですね・・
早速試してみます、ありがとうございました
0196デフォルトの名無しさん2007/11/11(日) 16:20:51
>>186
intはintegerで調べる
あとは英和辞書で調べるがよろし
0197デフォルトの名無しさん2007/11/11(日) 16:42:36
あいえぬてー
0198デフォルトの名無しさん2007/11/11(日) 16:45:43
Schema スシィーマ
0199デフォルトの名無しさん2007/11/11(日) 16:47:07
volatile ヴォラティレ
0200デフォルトの名無しさん2007/11/11(日) 16:47:58
Integer.parseInt インテガードットパルスイント
0201デフォルトの名無しさん2007/11/11(日) 17:07:13
ドイツ語っぽくなってないかw
0202デフォルトの名無しさん2007/11/11(日) 17:34:25
char チャー
0203デフォルトの名無しさん2007/11/11(日) 17:40:38
integer:インテジャー
int:イント
character:キャラクター
char:チャー
public:パブリック
0204デフォルトの名無しさん2007/11/11(日) 17:48:17
411 名前:ねぇ、名乗って[sage] 投稿日:2007/11/11(日) 17:34:13 ID:YbBOdUMW0
モームスって負の連鎖に陥ってるじゃん。
曲がよくない→売れない→良い人材が集まらない→さらに人気聚落
まさにハロカスパイラル
逆にAKBは好循環に入りつつあるよね。
曲もいいし、これから知名度もあがれば良い人材が集まるだろう。
あとはもう倍々ゲームですよ。

412 名前:ねぇ、名乗って[sage] 投稿日:2007/11/11(日) 17:35:18 ID:YbBOdUMW0
つんくPはもう才能が枯渇して昔のように良い曲は作れない。
小室哲哉と同じ道を歩んでいる。
そもそも1アーティスト(アイドル)と1作曲家という1vs1体制っていうのはもう古いんだよな。
これは一人の作曲家に頼りきりだからそいつが落ち目になるとアーティストまで一緒に落ち目になる。
多くの作曲家を周りにはべらせて良い曲だけ採用するという浜崎方式が最も賢い。
AKBもこれを踏襲している。

413 名前:ねぇ、名乗って[sage] 投稿日:2007/11/11(日) 17:35:57 ID:YbBOdUMW0
ここだけの話、AKBはまだ全然フルパワーを出してない。
本当に売りたいならゴールデンの歌番組にガンガン出るはずだろ。
CMだってほとんど見かけないしな。

414 名前:ねぇ、名乗って[sage] 投稿日:2007/11/11(日) 17:36:30 ID:YbBOdUMW0
>>413
その通り。
秋元先生がまだ時期尚早と見て意図的に力を抑えてるんだよな。
AKBは10年計画のアイドルだし焦る必要はなにもない。焦っているのはモーヲタだけ。

415 名前:ねぇ、名乗って[sage] 投稿日:2007/11/11(日) 17:37:08 ID:YbBOdUMW0
モー娘。はもう将来性が無いからな。
今や過去の栄光にしがみついて延命を図ってるだけのグループ。
AKBはまだこれからってかんじだ。
徐々に上り調子なのが素人の目にも明らかである。
0205デフォルトの名無しさん2007/11/11(日) 18:14:28
Javaに限ったことじゃないけど、enumっていろんな読み方する人いるよなー
0206デフォルトの名無しさん2007/11/11(日) 18:22:40
エナム
0207デフォルトの名無しさん2007/11/11(日) 18:23:46
enumはイーナムだな。
0208デフォルトの名無しさん2007/11/11(日) 18:25:44
エノムだと思ってたんだが間違ってるの?
0209デフォルトの名無しさん2007/11/11(日) 18:31:04
enum (C予約語) [いにゅーむ] [いーなむ] [いなむ] [えなむ] [えにゅむ]
"ENUMeration" の略。 char と同じで変な風に略すからとても読みにくい。

だってさ〜
やっぱたくさんあるね。

けどエノムって・・・どうしたらoになるんだろw
0210デフォルトの名無しさん2007/11/11(日) 18:37:32
GNU
0211デフォルトの名無しさん2007/11/11(日) 18:47:48
javaの参考書を買おうと思っているんですが
ArrayListだとかスレッドの事やよく使うクラスライブラリの説明なんかが
載ってるのってありますかね?
0212デフォルトの名無しさん2007/11/11(日) 18:50:07
StrutsをつかったWEBサイトの開発しています。(DBにはoracleを利用しています)
質問ですなんが、
リクエストをまたがってのトランザクション制御はjavaで可能でしょうか?

Aさんが編集画面を開いているとき、Bさんはその編集画面を開けないような制御を
自前のテーブルフィールドの利用ではなく、oracleの行ロックを利用して行いたいです。

C/Sアプリなどでは、クライアントでコネクションを維持できるので、普通にできるのですが、
WEBシステムではその辺りは不可能なのでしょうか?
なにか、既存のライブラリがあったりしませんか?


既存ライブラリがない場合の善後策として考えたのが、
「コネクションプールを利用して、コネクションオブジェクトをセッションに保持するとC/Sアプリのように利用できないか?」です。
しかし、利用者が行ロックを取得した状態で、放置した場合、そのコネクションはどうなるのかが分かりません。
セッションは指定時間で無効状態になりますが、内部のオブジェクトはどのような挙動を示すのでしょうか?
javaは初めてなので、試してみようにも関連項目の設定などがよく分からない状況です。

どうかよろしくお願いします。
0213デフォルトの名無しさん2007/11/11(日) 18:52:33
gaussの消去法を使って逆行列を求めるプログラム

行列の∞ノルムを計算するプログラムを教えてください
0214デフォルトの名無しさん2007/11/11(日) 19:37:43
アップロードしたデータのファイルサイズを操作(圧縮?)する事は可能ですか?
0215672007/11/11(日) 20:00:43
>>69
returnでうまく行きました。
レスありがとうございました。
0216デフォルトの名無しさん2007/11/11(日) 20:11:20
Abstractクラスってどういうときに使うのですか?
0217デフォルトの名無しさん2007/11/11(日) 20:18:11
>>212
セッションに保持できるのはシリアライズ可能なオブジェクトのみです。
java.sql.Connectionはjava.io.Serializableを実装していないので、無理。
JDBCドライバによっては、Connectionの実装クラスがSerializableを実装する可能性も
なくはないですが…期待しない方がいいでしょう。

残念ながら、自力で実装して下さい。
実装するなら、編集画面を開いたまま放置されるケースも忘れずに。
0218デフォルトの名無しさん2007/11/11(日) 21:11:11
>>216
http://www.hyuki.com/dp/dpinfo.html#AbstractClass
0219デフォルトの名無しさん2007/11/11(日) 21:31:43
>>217
ありがとうございます。

ちなみに、ドライバはojdbc14.jar を利用します。
可不可はそれのリファレンス見ればOKですか?

一般的にWEBで前述のような制御はどうやってるんでしょうか?
排他フラグを設けて自前でしかない?
0220デフォルトの名無しさん2007/11/11(日) 21:49:47
>>219
自前でするしかない。
そして、どう上手く実装できたにせよ、次は
編集画面を開いたままウィンドウを閉じたり、ブラウザの履歴戻ったりされる問題に直面するが、
大抵はいかのような「解決策」で逃げる。
・「ウィンドウを閉じるな、戻るな」とユーザに注意する。
 それを強制するために、JavaScriptでエロサイトまがいの嫌な動作をするページを作る。
・「ウィンドウを閉じたり戻ったりした場合はサポート外」と仕様書に書いて逃げる。
・タイムアウト時間を設ける。比較的マシ。
0221デフォルトの名無しさん2007/11/11(日) 22:07:58
>>220
ありがとうございました。

それにしても、需要のありそうな基本機能なのに
まだライブラリ整備されていないとは・・・
やっぱり技術的に難しいのかな・・・
0222デフォルトの名無しさん2007/11/11(日) 22:20:47
J2MEをインストールしたいのですが、個人情報を入力しないといけないのですか?
0223デフォルトの名無しさん2007/11/11(日) 22:26:06
>>221
Webアプリは楽観的ロックが主流だ
0224デフォルトの名無しさん2007/11/11(日) 22:46:45
うん。需要は無いので永久に整備されないな。
0225デフォルトの名無しさん2007/11/11(日) 23:19:46
質問よろしいですか?
専門学校の選択科目でJAVAの授業があって、そこでJAVAの勉強をしているのですが。
スーパークラスのメソッドを「this.」で呼び出すのと「super.」で呼び出すのとでは動作に違いはあるのでしょうか。

実際にやってみればいいのでしょうが、学校にも自宅にも環境を揃えて実行に耐えられるPCが無いので出来ずじまいなんです。
(学校のは開いている実習室が無いので座学のみですが)

どうかよろしくお願いします。
0226デフォルトの名無しさん2007/11/11(日) 23:23:47
>>225
サブクラスが将来そのメソッドをオーバーライドしたときに動きが変わる。
0227デフォルトの名無しさん2007/11/11(日) 23:26:25
同じ名前のメソッドが自分のクラスにあったら、this ではスーパークラスのメソッドを呼べないだろう

class A {
 void foo(){ System.out.println("A.foo"); }
}
class B extends A {
 void foo() { System.out.println("B.foo"); }
 void bar() { super.foo(); }     // A.fooを呼ぶ
 void baz() { this.foo(); }       // B.fooを呼ぶ
}
0228デフォルトの名無しさん2007/11/12(月) 00:19:50
Image〜で取得した画像は背景扱いになるのでしょうか?
0229デフォルトの名無しさん2007/11/12(月) 00:26:16
Image〜っていうのは具体的にどのクラスorメソッドのことだ

背景扱いってどういう意味?
0230デフォルトの名無しさん2007/11/12(月) 05:54:26
すみません、下記のアドレスで公開されているJavaを実現したいのですが、
オーダーメイドで作るとなるとどれ位の価格になるのでしょうか?

Converting TrueType Font into EPS
ttp://vision.kuee.kyoto-u.ac.jp/~nob/doc/truetype/truetype.html

大体の相場が判る方がいらっしゃったら教えて頂けませんか。会社でも個人で
も、実現して頂けるなら、お金を払って良いと思っています。と言っても何十
万とかは出せませんが。

当方はJAVAを始めプログラミングには全く縁が無く、JDK6をインストールして
上記のサイトのソースをコピーしてコンパイルしようとした所でエラーが出て、
そこから全く訳が分からなくなりました。

正直に言ってプログラムを専業としているわけでも趣味とするわけでもないの
で、これ一つのために基礎からプログラミングを覚える時間と労力を費やすこ
とはできそうにないのです。

(技術系の掲示板に書き込むようなことではないかもしれませんので、スレ違
いであったら御指摘ください)
0231デフォルトの名無しさん2007/11/12(月) 08:47:16
5万でよければやりますよ(笑)
0232デフォルトの名無しさん2007/11/12(月) 10:05:01
まぁ、まずホームページのオーナーに聞くのが早いんじゃないか?
後はうまく宿題にしたてて宿題スレに投げてみるとかw
0233デフォルトの名無しさん2007/11/12(月) 12:26:08
>226
どういった感じで変わるのでしょうか。

>227
なるほど、納得です。ありがとうございました。
0234デフォルトの名無しさん2007/11/12(月) 12:55:38
>>233
その二つのレスが共存してるのが意味分からん
0235デフォルトの名無しさん2007/11/12(月) 15:02:49
superって書けるのはコンストラクタ内だけで、なおかつ一番最初のみだよな?
0236デフォルトの名無しさん2007/11/12(月) 15:16:57
http://itpro.nikkeibp.co.jp/article/COLUMN/20060927/249181/?P=2&ST=develop
ここ見てJavaを1から勉強してるんですが、
クラスメソッドとインスタンスメソッドの使い分けがいまいちピンとこないです。
誰かうまいこと教えてくださいませ
0237デフォルトの名無しさん2007/11/12(月) 15:44:15
staticメソッドを使う場合は大きく分けてこの3通り。
1.Mathクラスみたいな、オブジェクトを利用しない『ユーティリティクラス』のメソッド(Cなどの関数と同じ役割)
2.そのクラスのオブジェクトの生成に関する操作(Singletonなどのほか、Integer型などのvalueOfとかもこういう系統)
3.main(最初はオブジェクトは存在しないから当たり前)

オブジェクトを作らなくても使える代わりに、適切にオブジェクトを作ったほうが簡潔になることが多いから分かんなかったらインスタンスメソッド。
他にもいくつか使い道はあるけど、きちんと使い分けるにはデザインパターンを勉強すればいいと思う。
0238デフォルトの名無しさん2007/11/12(月) 15:48:49
>>236
237さんが既に説明してるけど、別の観点で。

インスタンスのメンバ変数にアクセスするようなメソッドはインスタン
スメソッドに、メンバ変数をアクセスしないものはクラスメソッドに。
最初はこういう使い分けだけ覚えてればOKだと思う。

0239デフォルトの名無しさん2007/11/12(月) 15:57:50
ときどき迷うんだけど、インスタンス変数を使用しないが自分のクラスの
他のstaticメソッドからは呼ばれることのないprivateメソッドはどっちにする?
0240デフォルトの名無しさん2007/11/12(月) 16:14:11
>>237-238
ありがとうございます。
>>237さんの使い分けの説明ですが、なぜそう使い分ければOKなんですか?
あと関係ないですけど、変数宣言の型でなぜStringは大文字で、intは小文字で始まってるんでしょう?
何か意味があるんですか?
0241デフォルトの名無しさん2007/11/12(月) 16:18:43
言語仕様と慣例
Stringはクラスだけどintはクラスじゃないから
0242デフォルトの名無しさん2007/11/12(月) 16:45:20
ボタンを押すことでPanelとLabelを表示させるようにしているのですが、上手くいきません。
白紙のフレームにボタンを設置し、それを押してボタンを消去してからPanelとLabelを表示させようとしているのですが、
真っ白のままになってしまいます。
さらに、フレームの端…ウィンドウの大きさを変える部分をクリックすると、なぜかPanelとLabelが表示されます。

解決するにはどうすればよいでしょうか?
0243デフォルトの名無しさん2007/11/12(月) 17:11:11
FileChannelを使って、
 1.Fileにバイナリデータを書き込み
 2.同じFileをいったんcloseした後、再度開いて書き込んだデータを読み込み
 3.同じFileを最後に削除
ということを試しているのですが、削除ができません。
2の読み込みの部分を、データのappendみたいなことをしてから、
channelをcloseしてファイルを削除することはできます。
何か足りないのでしょうか?書いてみたコードは下記の通りです。

public void example(){
  byte[] bytes1 = {0x41, 0x42, 0x43};
  File file1 = new File("C:/temp/test.txt");
  RandomAccessFile raf1 = new RandomAccessFile(file1, "rw");
  FileChannel ch1 = raf1.getChannel();
  ByteBuffer buffer1 = ByteBuffer.wrap(bytes1);
  ch1.write(buffer1);
  ch1.close();
  raf1.close();
  
  File file2 = new File("C:/temp/test.txt");
  RandomAccessFile raf2 = new RandomAccessFile(file2, "rw");
  FileChannel ch2 = raf2.getChannel();
  MappedByteBuffer buf = ch2.map(FileChannel.MapMode.READ_ONLY, 0, ch2.size());
  byte[] data = new byte[(int)buf.capacity()];
  buf.get(data);
  buf = null;  
  ch2.close();
  raf2.close();

  file2.delete(); // data[0]〜data[2]に値は入っているが、deleteできない
}
0244デフォルトの名無しさん2007/11/12(月) 17:27:58
>234
226さんの答えが良くわからなく、他にも問題があるのかと思ったからです。
メソッド名に気をつければ問題ない、「super.」を使ってスーパークラスのメソッドを呼び出すようにする。
と言うことでよろしいでしょうか。
0245デフォルトの名無しさん2007/11/12(月) 17:31:35
基本的にstaticにできるところはそうするべきだろ。
0246デフォルトの名無しさん2007/11/12(月) 18:04:27
>>243
MappedByteBufferがガベージコレクトされるまでアンマップできないから閉じられない、んだったと思う
0247デフォルトの名無しさん2007/11/12(月) 20:03:37
>>244
相当、頭悪いな
superがthisがじゃなくて、どのクラスに定義したメソッドを実行したいかなんだよ。
thisはそのクラスが定義したメソッドまたはそのスーパークラスのメソッド
superだとスーパークラスのメソッドが実行されるだけ
ただし、2つ以上オーバーライドされてしまうと、親の親を呼び出す仕組みはない
02482482007/11/12(月) 20:06:15
本に載ってるプログラムを入力したのですが、
コンパイルした時にエラーになります。
どうしてでしょうか。

public class sample17 {
public static void main(String[] args) {
int i=args.length;
if(i==0) System.out.println("引数は0個です。");
else if(i%2==0)
System.out.println("因数の数は偶数です。");
else
System.out.println("引数の数は奇数です。");
}
}



C:\Source>javac sample17.java
sample17.java:9: \65373 は不正な文字です。
}
^
sample17.java:10: \65373 は不正な文字です。
}
^
sample17.java:11: ';' がありません。
^
エラー 3 個
0249デフォルトの名無しさん2007/11/12(月) 20:09:39
ifの後っ{←つけないとだめじゃない?
02502432007/11/12(月) 20:09:43
>>246
レスありがとうございます。
BugParadeに、こんな記述を見つけたんですが、コレですかねぇ。。。
ttp://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4715154

>State:Closed, will not be fixed

って、あーた。。。('A`)
とりあえずcommentにいくつかworkaroundになりそうなものがあるので
試してみます。。。
02512482007/11/12(月) 20:12:29
>>249
付けてみましたが、ダメでした。
0252デフォルトの名無しさん2007/11/12(月) 20:16:19
}が全角になってる。}と}は違う文字。
■ このスレッドは過去ログ倉庫に格納されています