【初心者】Java質問・相談スレッド103【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/06/27(水) 07:23:27JavaScript, 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質問・相談スレッド102【大歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1180419689/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
次スレは>>980あたりで。
0315デフォルトの名無しさん
2007/07/02(月) 23:53:51クローズドなシステムだったら署名つきJavaApplet上で
JDBCでBLOBデータを流す感じかな。
とりあえず日本語の勉強しておいたほうがいい。
0316デフォルトの名無しさん
2007/07/03(火) 00:16:26ファイルを直接バイナリ変換ってなに?
普通バイナリをBase64でテキストにエンコードするんじゃないの?
0317デフォルトの名無しさん
2007/07/03(火) 00:51:49バイナリ変換と言ってるが何をバイナリ変換するんだ?
アップロードされてないものを変換できないぞ。
0318デフォルトの名無しさん
2007/07/03(火) 01:18:54アップロードしない → サーバにデータを送らない → サーバのDBに登録できない
0319デフォルトの名無しさん
2007/07/03(火) 01:26:280320デフォルトの名無しさん
2007/07/03(火) 01:45:00クライアントにDBをインストールしてそこに目的のファイルをINSERT
↓
バックアップファイルを作成
↓
サーバにFTPでバックアップファイルを転送
↓
サーバのDBにリストア
0321デフォルトの名無しさん
2007/07/03(火) 01:52:17降順にソートした状態で出力したいのですが、どのようにすればよいのでしょうか?
TreeMap使えばいいのかなーと思ったのですが、どうやってカウントしていけばいいのかというところで
ちょっとわからなくなってしまって・・・
0322デフォルトの名無しさん
2007/07/03(火) 02:00:22マップを検索してなければその単語をキーにして頻度を1にして新規に加えて
あればその単語の頻度を1増やす
0323デフォルトの名無しさん
2007/07/03(火) 02:01:110324デフォルトの名無しさん
2007/07/03(火) 02:06:59出現頻度はIntegerなどのラッパークラスを使って頻度更新のたびに入れ替えていくか
new int[1]した配列を入れてint[0]の値を更新していくか
その辺りは自分のポリシーで
0325デフォルトの名無しさん
2007/07/03(火) 03:20:070326デフォルトの名無しさん
2007/07/03(火) 08:20:150327デフォルトの名無しさん
2007/07/03(火) 09:23:48JNIのロード方法が特殊でjarに固めるとロード時にNoClassDefFoundErrorが出るし、固めずに実行するとExceptionInInitializerErrorが出る。
ちゃんと使えてる人居たらどうやって使ってるか教えてほしい。
うちの環境はjdk6u1とwin用JCurses 0.9.5
0328デフォルトの名無しさん
2007/07/03(火) 16:35:10無駄では?
0329デフォルトの名無しさん
2007/07/03(火) 17:08:21並行処理やるわけでもないのに何でそんなのが必要になるんだよw
0330デフォルトの名無しさん
2007/07/03(火) 18:18:220331デフォルトの名無しさん
2007/07/03(火) 18:39:15”なんとなく” という単語に俺が言いたいことを全部押し込めたわけだが
0332デフォルトの名無しさん
2007/07/03(火) 19:51:04笑いどころも無いので皆さん解凍できなかった様子。
0333デフォルトの名無しさん
2007/07/03(火) 21:49:12というエラーの解決法教えてくださいm(_ _)m
0334デフォルトの名無しさん
2007/07/03(火) 21:50:20エラーは何ですか?
0335デフォルトの名無しさん
2007/07/03(火) 21:50:580336335
2007/07/03(火) 21:51:560337デフォルトの名無しさん
2007/07/03(火) 21:54:50解決方法は質問じゃなくて自分で勉強することだろうな
0338お願い!!
2007/07/03(火) 22:00:08javaでのファイルアップロードの仕組みとして
一般的にクライアントで指定したファイルをサーバに
一度アップロードしてからデータベースへ
BLOB(バイナリラージオブジェクト)で登録するようです。
ただし、私の知りたいその2段階で行う処理を
サーバに一度もファイルを置かずに1段階で
データベースに登録が技術的に可能なのかが解かりませんでした。。
0339デフォルトの名無しさん
2007/07/03(火) 22:12:13可能
0340お願い!!
2007/07/03(火) 22:14:03出来そうな感じもするのですが
実装方法はどうしたらいいのでしょうか?
0341デフォルトの名無しさん
2007/07/03(火) 22:15:20ちったあ調べれ
0342デフォルトの名無しさん
2007/07/03(火) 22:16:46一度もサーバーに置かないというのは物理ファイルのことだよな?
それならば、サーバーの能力、転送量次第
十分に運用に耐えられると判断したならば、Servlet内でbyte[]やTempファイルなんかをメモリ上に作成すればいい
例えば数Kバイト程度のCSVファイルが1時間に1つ程度送られてくるとかならば、オンメモリでも問題ないだろう
だけど、例えばそれが月頭の特定時間に1万ファイル/分で転送されてくるならば止めた方がいいだろう
0343デフォルトの名無しさん
2007/07/03(火) 22:21:008進数や16進数など現場でつかいますか?
0344デフォルトの名無しさん
2007/07/03(火) 22:25:068進数は使わない。
0345デフォルトの名無しさん
2007/07/03(火) 22:27:09君が将来勤める工事現場では8進数も16進数もたぶん使わないんじゃないかな
0346デフォルトの名無しさん
2007/07/03(火) 22:30:560347デフォルトの名無しさん
2007/07/04(水) 01:49:01chmod 755 hogehoge.cgi
とかは 8進数
0348デフォルトの名無しさん
2007/07/04(水) 03:53:140349デフォルトの名無しさん
2007/07/04(水) 09:39:04やだ
0350デフォルトの名無しさん
2007/07/04(水) 09:48:550351デフォルトの名無しさん
2007/07/04(水) 13:18:31これからも聞きたいときは聞きに来ていいんだよ
答えたいときに答えるから
0352デフォルトの名無しさん
2007/07/04(水) 13:55:35http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%83%BB%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9
http://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%82%AB%E3%83%AB%E3%83%A6%E3%83%BC%E3%82%B6%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9
0353デフォルトの名無しさん
2007/07/04(水) 21:05:0316進はよく使う。8進はあまり使わないが>>347のように使うことはある。
0354デフォルトの名無しさん
2007/07/04(水) 21:35:560355デフォルトの名無しさん
2007/07/04(水) 22:36:41Sunのホームページにあったサンプルですが、動きません。
RMIサーバ側で「Server exception:java.rmi.ServerException: RemoteException occurred in server th
read; nested exception is:」という例外が発生します。
ファイアウォールはブロック解除しましたが、結果は同じです。
昔は簡単にうごいたのに、Java1.5の仕様でしょうか?
スペック
OS:WindowsXP SP2
J2SDK:Java1.5.0_12
J2RE:Java1.5.0_12
0356デフォルトの名無しさん
2007/07/04(水) 22:37:460357デフォルトの名無しさん
2007/07/04(水) 22:39:16その nested exception is: の後が重要。そっちも書いて
0358355
2007/07/04(水) 22:44:08read; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested excep
tion is:
java.lang.ClassNotFoundException: example.hello.Hello
java.rmi.ServerException: RemoteException occurred in server thread; nested exce
ption is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested excep
tion is:
java.lang.ClassNotFoundException: example.hello.Hello
0359355
2007/07/04(水) 22:44:50)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
66)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:707)
0360355
2007/07/04(水) 22:46:25at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknow
n Source)
at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
at example.hello.Server.main(Server.java:24)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested ex
ception is:
java.lang.ClassNotFoundException: example.hello.Hello
0361355
2007/07/04(水) 22:47:08at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:375
)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
66)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
0362355
2007/07/04(水) 22:47:58at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException: example.hello.Hello
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
0363355
2007/07/04(水) 22:48:42at sun.rmi.server.LoaderHandler.loadProxyInterfaces(LoaderHandler.java:707)
at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:651)
at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:588)
at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)
at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)
at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)
at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1500)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1463)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
... 9 more
以上です。解析お願いします。
0364デフォルトの名無しさん
2007/07/04(水) 22:57:31java.lang.ClassNotFoundException: example.hello.Hello だ、原因はStackTraceは一番下(元の)例外を読むのが原則
サーバの方でパスが通っている場所にクラスファイルがない
0365デフォルトの名無しさん
2007/07/04(水) 23:03:22調べてみます。。。でもこんな感じなんですよね〜
D:.
│ a.bat
│ コマンド プロンプト.lnk
│
└─example
└─hello
Client.class
Client.java
Hello.class
Hello.java
Server.class
Server.java
0366デフォルトの名無しさん
2007/07/04(水) 23:06:090368355
2007/07/04(水) 23:19:260369デフォルトの名無しさん
2007/07/04(水) 23:30:08が原因を教えてくれているな。
エラーメッセージには答えそのものが書いてあることが多いからよくよめ
0370デフォルトの名無しさん
2007/07/04(水) 23:32:09まて、bin直下にクラスファイルを置かないと動かないってどういうことだよ!
0371デフォルトの名無しさん
2007/07/04(水) 23:35:48そういうことだよ
0372デフォルトの名無しさん
2007/07/04(水) 23:43:32そういうことじゃなくて、rmiregistry.exeを>>365のディレクトリ上に配置すればイイーンダヨ♪
0373デフォルトの名無しさん
2007/07/05(木) 01:35:07以下のプログラムをコマンドプロントで実行することは可能ですか?
可能な場合はやり方を教えて頂けないでしょうか。
import java.applet.*;
import java.awt.*;
public class myclock extends Applet{
Image fb;
Graphics gg;
public void init(){
fb = createImage(200,200);
gg = fb.getGraphics();
}
public void paint(Graphics g){
/******時計のデザイン*******/
gg.drawRect(5,5,190,190);
g.drawImage(fb,0,0,this);
}
}
Character.isLetter(char)は日本語の文字にもtrueを返してしまいます。
0375デフォルトの名無しさん
2007/07/05(木) 01:45:08結論いうと可能。アプレットだよね。
ソースファイルに以下のコメント記述でアプレットタグの内容を書く。
/**
<APPLET>内容</APPLET>
*/
コンパイルしたら、appletviewer.exeというjavaの実行フォルダにある
ビューワを使えば読める。
こんな感じ
c:\>appletviewer "ソースファイル名"
ただし、ブラウザと多少動作が違うから確認程度で我慢すること。
詳しくはぐぐれ
こことかどうよ
http://www.itlb.te.noda.sut.ac.jp/~takuma/lecture/java/step1.html
0376デフォルトの名無しさん
2007/07/05(木) 01:53:33あったようななかったような、、A〜Z、a〜zの範囲なら自作のAPIを作っても手間がそんなにかからないと思うけど。
http://charset.7jp.net/unicode2.html
0377デフォルトの名無しさん
2007/07/05(木) 01:59:02ありがとうございます!
0378デフォルトの名無しさん
2007/07/05(木) 02:00:240379デフォルトの名無しさん
2007/07/05(木) 02:06:440380デフォルトの名無しさん
2007/07/05(木) 02:10:140381デフォルトの名無しさん
2007/07/05(木) 02:41:15次はなにかを作りながら覚えて言ったほうがいいかなと思ったのですが
なにかいい参考書や方法はあるでしょうか?
みなさんはどういうステップJAVAを学んでいかれたのでしょうか?
よかったら教えてください。
0382デフォルトの名無しさん
2007/07/05(木) 03:02:31資格取ったり仕事で使ったりしたから、いろいろ知ってるけど。
どうでもいいような事とかJavaで出来ること、出来るけど困難なこと、そもそも出来ないこと
の区別が付けることが出来たら、お客さんに気に入られるよってアドバイスする俺はSE兼PGです。
趣味の範囲ならアソシエイツを取る勢いで浅く広く覚えれば面白いと思うよ。深く追求すると嫌になるから。
http://suned.sun.co.jp/JPN/certification/sjcaobj.html
0383デフォルトの名無しさん
2007/07/05(木) 09:35:44ほとんど無報酬のボランティアで答えている俺は
SE兼PG兼奴隷です。
0384デフォルトの名無しさん
2007/07/05(木) 10:37:04ソケットで自作しないとだめなんでしょうか?
0385デフォルトの名無しさん
2007/07/05(木) 10:57:13外部のライブラリ使えば簡単にできる。commons netとか
ttp://jakarta.apache.org/commons/net/
0386デフォルトの名無しさん
2007/07/05(木) 11:37:20Java "Script"なら関数オブジェクトを変数に入れて
コールすれば内部処理的にも関数ポインタに近いんだけどなぁ・・・
クロージャが追加されれば似たような事が出来るけど
Javaのクロージャってレキシカルスコープ引き継ぐんだろうか?
>>381
やさしいjavaをきれいさっぱり忘れて他の本をじっくり読む。マジオヌヌメ。
0387デフォルトの名無しさん
2007/07/05(木) 12:03:03htmlで<textarea>に入力した文字をdatファイルに出力しようとしています、正確にはJavaではなくJSPを使っていますが
・Htmlソース部分
<form action="test.jsp"method="POST">
<textarea rows=5 cols=60 name="honbun" wrap="off"></textarea>
<input type="submit"name="save"value="送信">
</form>
・Javaソース部分
String path = "フォルダパス";
String fname = "out.dat";
String gen = request.getParameter("honbun");
String hon = gen.replaceAll("\n","<br>");
BufferedWriter logwrite = new BufferedWriter(new FileWriter(path+ File.separatorChar +fname,true));
logwrite.write(hon);
logwrite.newLine();
logwrite.close();
改行コードを<br>に変換してdatファイルに出力しようとしていますが、<br>は付与されますがどうしても改行コードが残ってしまいます
datファイル内でも改行されないように出力出来ないでしょうか?(例えるなら、ギコナビのスレッドdatファイルの様に)
datファイルを見るのにはTeraPadを使用していますが、メモ帳では改行されていないように見えます
もしかするとTeraPadで見るのが原因なのでしょうか・・・しかしギコナビのdatファイルはTeraPadでも改行されずに表示されます
0388デフォルトの名無しさん
2007/07/05(木) 12:10:35\rが入ってるとか?
0389デフォルトの名無しさん
2007/07/05(木) 12:11:16LFだけ消して
CRLFを消してないから
CRが残ってる
0390387
2007/07/05(木) 12:21:08\rを消して無事に一行で出力することができました
>>388さん>>389さんご回答ありがとうございました!
0391デフォルトの名無しさん
2007/07/05(木) 13:04:01Javaのばあい、動作してるプラットフォームの改行コードに変換されるんじゃなかったけ?
0392デフォルトの名無しさん
2007/07/05(木) 13:25:240393デフォルトの名無しさん
2007/07/05(木) 13:28:12ブラウザがどういった改行コードを送ってくるかは環境依存?それとも何か決まりはある?
0394デフォルトの名無しさん
2007/07/05(木) 13:36:19WindowsからはCRLFで送られてくるし
UNIX系からはLFで送られてくるよ
HTTP以外のSMTPとかのプロトコルだと
ちゃんとCRLFになってるみたいだけどね
0395デフォルトの名無しさん
2007/07/05(木) 13:52:38システム上でファイルに関連付けられてるアイコンを
自動的に表示するような方法ってない?
やっぱりひとつひとつアイコン設定するしかない?
0396デフォルトの名無しさん
2007/07/05(木) 13:55:190397デフォルトの名無しさん
2007/07/05(木) 13:56:430398デフォルトの名無しさん
2007/07/05(木) 14:00:00そうなんだ!
どうやるの?
0399デフォルトの名無しさん
2007/07/05(木) 14:56:46ファイルに関連づけられてるアイコンって、
OS依存な気がするんだが・・・>>396は何か勘違いしてる気が・・・
0400デフォルトの名無しさん
2007/07/05(木) 14:59:090401デフォルトの名無しさん
2007/07/05(木) 15:00:06JTree上のアイコンだろ?
0402デフォルトの名無しさん
2007/07/05(木) 15:12:33エクスプローラみたいなのを作りたいってことは、exeファイルのアイコンとか
関連づけられたアプリのアイコンとかにしたいってことなんじゃないの?
>>401
0403デフォルトの名無しさん
2007/07/05(木) 15:47:41そういうことっす
0404デフォルトの名無しさん
2007/07/05(木) 19:04:570405デフォルトの名無しさん
2007/07/05(木) 20:49:420406デフォルトの名無しさん
2007/07/05(木) 21:03:29同じプログラムを Linux へ持っていたらまったく意図した通りに動かない、ということですな・・・
0407デフォルトの名無しさん
2007/07/05(木) 21:05:440408デフォルトの名無しさん
2007/07/05(木) 21:30:39デフォルトはシステムのどっかにアーカイブされてるんだろうが
0409デフォルトの名無しさん
2007/07/05(木) 21:45:570410デフォルトの名無しさん
2007/07/05(木) 21:50:05ttps://jdic.dev.java.net/
この辺のAssociationとか使えそうじゃね?
ttps://jdic.dev.java.net/documentation/Examples.html
0411デフォルトの名無しさん
2007/07/05(木) 22:50:43http://javadesktop.org/jdic/demo/FileExplorer/fileexplorer.jnlp
0412デフォルトの名無しさん
2007/07/05(木) 22:51:45また、画面から入力(Enter)があれば、ループを抜けずに、プログラムを強制終了させる。
上記の問題で条件文のことで質問があります。
while(true){
// 省略
if(System.in.available() > 0)
break;
}
「入力があれば」は上記if文でいいのでしょうか?
またEnterキーが入力された場合はどのように条件文を書けばいいのですか?
0413デフォルトの名無しさん
2007/07/05(木) 22:58:570414デフォルトの名無しさん
2007/07/05(木) 23:01:12それだと、ファイルの種類にかかわらずアイコンが全部同じになってるんだよね。
他に方法があるといいんだけど。
■ このスレッドは過去ログ倉庫に格納されています