★★Java質問・相談スレッド142★★
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/11/19(金) 03:05:30JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/ [板をp2で開く]
Webプログラミング http://pc11.2ch.net/php/ [板をp2で開く]
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
(p)ttp://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
★★Java質問・相談スレッド141★★
(p)http://hibari.2ch.net/test/read.cgi/tech/1286354820/
次スレは>>950あたりで。
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
(p)http://www.wikiroom.com/java/
0951デフォルトの名無しさん
2011/01/22(土) 13:39:31WCHAR *pathbuf = pathToNTPath(env, path, JNI_TRUE);
if (pathbuf == NULL) {
/* Exception already pending */
return -1;
}
h = CreateFileW(
pathbuf, /* Wide char path name */
access, /* Read and/or write permission */
sharing, /* File sharing flags */
NULL, /* Security attributes */
disposition, /* creation disposition */
flagsAndAttributes, /* flags and attributes */
NULL);
free(pathbuf);
0952デフォルトの名無しさん
2011/01/22(土) 13:40:12WITH_PLATFORM_STRING(env, path, _ps) {
h = CreateFile(_ps, access, sharing, NULL, disposition,
flagsAndAttributes, NULL);
} END_PLATFORM_STRING(env, _ps);
}
if (h == INVALID_HANDLE_VALUE) {
int error = GetLastError();
if (error == ERROR_TOO_MANY_OPEN_FILES) {
JNU_ThrowByName(env, JNU_JAVAIOPKG "IOException",
"Too many open files");
return -1;
}
throwFileNotFoundException(env, path);
return -1;
}
return (jlong) h;
}
0953デフォルトの名無しさん
2011/01/22(土) 17:09:39バッファサイズ1024は小さすぎると思う。
【ファイル入力バッファ】
昔バッファサイズを変えてまったく同じファイルを繰り返しコピーする
プログラムを作って、処理時間をグラフにしてみたことがあるんだが、
そのときはバッファサイズが小さいと極端に遅くなり、大きすぎても
それほど効果が無いという結果だった。4096〜8192くらいが理想っ
ぽかった。(ただ再起動してないのでファイルキャッシュが効いている状態のテスト)
【Servlet出力バッファ】
Servletの場合出力先はTCP/IPソケットなので、ファイルI/Oとは
ちょっと違うはず。ちゃんと調べたことは無いが、俺は64KB(65536)
位のデカいバッファを使ってる。
TomcatのHTTPコネクタを使って大きなファイルをダウンロードす
るときの通信をwiresharkでキャプチャしてみた経験では、バッファ
が小さいと無駄に小さいTCPデータパケットが頻繁に出て行く現象
が見えたため。
以上から、(間違ってるかもしれないが)俺のお勧めはこんなかんじ
InputStream in = null;
OutputStream out = null;
try {
in = new FileInputStream(xxxxx);
byte[] iobuf = new byte[8192];
out = response.getOutputStream();
out = new GZipOutputStream(out, 65536);
int len;
while ( (len = in.read(iobuf)) != -1 ) {
out.write(iobuf, 0, len);
}
out.flush();
}finally {・・・ストリームclose();}
0954デフォルトの名無しさん
2011/01/22(土) 17:28:18Windowsの仮想ページサイズは4096Byteなので読みこみではそのサイズを使い
ネットワーク通信はMSS依存の値
例えば一般的なイーサネット(1500)-IPとTCPのヘッダ(20+20)=1460にして
RWINを65536/MSS*MSSに設定すればいいんじゃなかろうか
GZipOutputStream(out, RWIN)
0955デフォルトの名無しさん
2011/01/22(土) 17:52:25HttpServletRequestを使用せずに取得する方法は無いでしょうか?
何がしたいかというと、HttpServlet#initで別スレッドを立ち上げて
そこでコンテキストパスを取得して使用したいのです
どなたかよろしくお願いします。
0956デフォルトの名無しさん
2011/01/22(土) 18:57:34うーん、いまいちネイティブコード側とVM側の違いがピンと来てません。
>>950
ありがとうございます。
io_util_md.c にありました。おかげ様で無事見つかりました。
0957デフォルトの名無しさん
2011/01/22(土) 19:28:07ServletConfigのgetServletContext()。
ひょっとするとJ2EEの古いバージョンには無かったかも。
0958デフォルトの名無しさん
2011/01/22(土) 21:06:590959デフォルトの名無しさん
2011/01/22(土) 21:07:57"あいうえお"は正常に出力されます。
ソースコードは全てUTF-8で統一しています。
どのような可能性が考えられますか?
sourceにはShift_JISで半角数字・英字とマルチバイト文字まで含んだものが入ります。
ByteArrayOutputStream source = new ByteArrayOutputStream();
//urlからsourceをセット
String result = "";
try {
result = source.toString("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.out.println(result);
System.out.println("あいうえお");
0960959
2011/01/22(土) 21:16:19result = source.toString("UTF-8");
これsourceの文字コードを指定するんですね
result = source.toString("Shift_JIS");
でうまくいきました
0961デフォルトの名無しさん
2011/01/23(日) 00:10:49(p)http://pc12.2ch.net/test/read.cgi/tech/1267796762/
の>>827で課題をお願いしたのですが、やっていただけるか分からないので自分でももう一度挑戦しようと思います
この課題をやるにはどのサイトで勉強するのが効果的でしょうか
0962デフォルトの名無しさん
2011/01/23(日) 00:13:59学校で使っている教科書
0963デフォルトの名無しさん
2011/01/23(日) 00:20:33「applet 画像の表示」とかでぐぐればいんじゃね。
まあランダムとか選択肢とかは置いといて、「画像1→正解!→画像2→正解!→画像2→正解!→・・」と表示する画像ビューワを先に作って、
最悪それを提出すれば点は貰えるんじゃないか。
0964デフォルトの名無しさん
2011/01/23(日) 04:47:49hsqldbをServerモードで起動しても、Eclipseから繋げません。
逆にEclipseから繋いでいると、hsqldbを起動できません。
Eclipseがlockしてしまうようなのですが、どうすればいいでしょうか。
別サーバーのpostgresqlには多重に接続できるのですが。
0965デフォルトの名無しさん
2011/01/23(日) 04:49:06java -cp hsqldb.jar org.hsqldb.Server -database testで動かしてます。
0966デフォルトの名無しさん
2011/01/23(日) 17:48:330967デフォルトの名無しさん
2011/01/23(日) 17:53:120968デフォルトの名無しさん
2011/01/23(日) 19:13:08お願いします。
0969デフォルトの名無しさん
2011/01/23(日) 19:49:12import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Label;
import java.awt.Panel;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
を
import java.awt.*;
import java.awt.event.*;
と書き換えることはできますか?
0970デフォルトの名無しさん
2011/01/23(日) 19:53:580971デフォルトの名無しさん
2011/01/23(日) 19:54:47import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
はどこ行ったの?
0972デフォルトの名無しさん
2011/01/23(日) 19:58:52出てくる箇所全部限定名で書くんじゃね?
0973デフォルトの名無しさん
2011/01/23(日) 20:25:24import java.*;
で
0974デフォルトの名無しさん
2011/01/23(日) 20:45:05import *;
で
0975デフォルトの名無しさん
2011/01/23(日) 21:10:190976デフォルトの名無しさん
2011/01/23(日) 21:17:230977デフォルトの名無しさん
2011/01/23(日) 21:25:02差異としてはどんなものがあるの?
0978デフォルトの名無しさん
2011/01/23(日) 21:34:20あえて挙げればパッケージプライベートという可視制御が存在する
0979デフォルトの名無しさん
2011/01/23(日) 21:37:34ディレクトリ構造を強要される/されない
0980デフォルトの名無しさん
2011/01/23(日) 21:40:31package…アクセス制御の単位として機能する
namespace…名前だけ
0981デフォルトの名無しさん
2011/01/23(日) 21:46:38namespaceは名前の飾りとしての意味しかなくて
名前空間とは無関係にパッケージスコープ相当のinternalアクセスレベルが別にある
0982デフォルトの名無しさん
2011/01/23(日) 22:11:580983デフォルトの名無しさん
2011/01/23(日) 23:49:290984デフォルトの名無しさん
2011/01/24(月) 00:04:22メソッド A内でしか使われないような変数は、フィールドではなく、
メソッド内で定義していいですよね?
今度の案件のソース見てたら、メソッド内のローカル変数でいいようなものでも、フィールドで
String something = null;
のように初期化していたのでJavaではもしやそういう流儀なのかと思ってしまいましたが、
そんな訳ないですよね。
0985デフォルトの名無しさん
2011/01/24(月) 00:10:05まず意味ないと思うが。
DIが流行って以降勘違いしてる人が増えたせいじゃね。
nullとかでなく初期化がされてる場合は、JUnitでその変数をある指定値で動作させたい時とかにありえる。
0986984
2011/01/24(月) 01:45:15ああ、間違いなくDIの影響ですね。
今回はDIを使ってないとの事ですので、
書いた人は何でもかんでもフィールドで初期化すればいいと思ってそうです。
ありがとうございます。
0987えーきち
2011/01/24(月) 02:38:19以下のような実行できるのですがエラー?が出てきます。意味がわかりません
exception in thread "awt-eventqueue-0" java.lang.unsupportedoperationexception
java.awt.image.BufferedImage offset_img = new BufferedImage( width, height, java.awt.image.BufferedImage.TYPE_INT_ARGB);
offset_img.setRGB( 0,0, width, height, pixel, 0, width);
graphics = image.getGraphics();
graphics.drawImage(offset_img,0,0,width,height,this);
0988デフォルトの名無しさん
2011/01/24(月) 02:45:46ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/UnsupportedOperationException.html
0989えーきち
2011/01/24(月) 03:21:27import java.awt.event.*;
import java.awt.Image.*;
import java.awt.image.PixelGrabber;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.Font;
0990えーきち
2011/01/24(月) 03:25:11{
TextField infilename; //ファイル名を入力するフィールド
Button gazou;
Button hist;
Image image; //オフスクリーンで使うためのimageクラス
Graphics graphics; //オフスクリーンに描画するためのgraphicsクラス
String filename; //テキストフィールドからの文字列の取得
boolean buttonpush1 = false; //ボタンが押されたかどうかの判定
boolean buttonpush2 = false;
BufferedImage readImage = null;
int width,height;
int w=0,b=0,j=0,z=0;
int pixel[];
gframe()
{
setLayout(new FlowLayout(FlowLayout.LEFT)); //レイアウトの設定
infilename = new TextField(20);
add(infilename);
gazou = new Button("画像決定");
add(gazou);
gazou.addActionListener(this);
hist = new Button("ヒストグラム");
add(hist);
hist.addActionListener(this);
}
0991えーきち
2011/01/24(月) 03:27:34{
if(image == null) image = createImage(1200,1000);
if(graphics == null) graphics = image.getGraphics();
g.drawImage(image,20,80,1000,700,this);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == gazou){
readImage();
System.out.println("@1");
}else if(e.getSource() == hist){
cahanger();
System.out.println("@2");
}
repaint();
}
0992デフォルトの名無しさん
2011/01/24(月) 06:04:440993デフォルトの名無しさん
2011/01/24(月) 06:39:00スレに臭いがうつるだろ、シッシッ。
0994デフォルトの名無しさん
2011/01/24(月) 19:53:030995デフォルトの名無しさん
2011/01/24(月) 22:25:5250〜60個位の設定が必要なんですが。
最初、Digesterを使ってxmlからBeanにマップしてMapに詰めたんですが、
結局keyがStringとかになる訳で、そうするとkeyはハードコーディングせざるを得ないですよね。
理想はkeyがenumみたいに候補が出る形です。
propertiesでは1対1の対応しか出来ないので、2つ3つ関係させたい時は
ダメそうです。
0996デフォルトの名無しさん
2011/01/24(月) 22:32:060997デフォルトの名無しさん
2011/01/24(月) 22:56:260998デフォルトの名無しさん
2011/01/24(月) 23:54:20突っ込んだことしなければ十分なはずだけど。
0999デフォルトの名無しさん
2011/01/25(火) 00:27:26void offPaint() {
int i,j;
gOff.setColor(Color.white);
gOff.fillRect(0,0,dim.width,dim.height);
if (dispMode==0) {
gOff.setColor(Color.black);
for(j=0; j<NNy; j += 4) {
for (i=0; i<NNx; i += 4) {
gOff.setColor(Color.getHSBColor( (float)cr[i][j],
(float)(0.3+0.6/(30.0*sg[i][j]+1.0)),(float)(0.5+0.25*Ez[i][j])));
gOff.fillRect(i+50,j+50,4,4);
}
}
}
}
1000デフォルトの名無しさん
2011/01/25(火) 01:06:19(´・ω・`) うさちゃんピース
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。