Quantcast
Channel: OKWAVE 閲覧数の多い質問(Java/253)【本日】

http://localhost に接続できない

$
0
0
サーブレット&JSPを始めたばかりです。 色々調べても自力で解決出来ないので 教えて下さい! URLにhttp://localhost:8080と入力すると *********************************** このサイトにアクセスできません localhost で接続が拒否されました。 *********************************** ※上記のメッセージが出て、Apacheに接続された時に 出力される初期画面が表示されません。 当然、eclipseでもtomcatの起動をするとコンソールに エラーメッセージが出て起動出来ない状況です。 お手上げ状態ですので、なるべく詳しい説明をお願いします。 ※環境 WINDOWS10  eclipse :pleiades(MARS4.5)  java  :java8  tomcat :tomcat8  ローカルエリア接続:IPv6接続

大きな容量のファイルを転送する

$
0
0
UserModeLinuxを起動する際のルートファイルシステム(4294971392バイト) をサーバ側からクライアント側に転送したいと考えています。 以下のプログラムを実行した結果、エラーが出てしまいます。 容量が大きなファイルのため、出てきてしまうエラーだと思うのですが。 またおかしなことに、エラーが出るのでプログラムを停止して クライアント側のディレクトリを確認すると ルートファイルシステムが存在し、UserModeLinuxを起動することもできました。しかしコンソールにはエラーが表示されるので困っています。 このような場合にどのように対処するべきでしょうか。 サーバ側 import java.net.*; import java.io.*; public class FileTransferServerroot { public static void main(String[] args) throws IOException{ if (args.length != 2) throw new IllegalArgumentException("Arguments should be host,port and filepath"); int serverPort = Integer.parseInt(args[0]); String filename = args[1]; byte[] data = new byte[32]; //ソケットの作成 ServerSocket socket = new ServerSocket(serverPort); Socket sock = socket.accept(); System.out.println("Connected to server"); //ストリームの作成 FileInputStream fin = new FileInputStream(filename); OutputStream out = sock.getOutputStream(); //ファイルの内容を読み出し、送信する System.out.println("Sending file : " + filename); int totalSize = 0; int len = 0; for(;;){ len = fin.read(data); totalSize += len; out.write(data, 0, len); if(totalSize == 4294971392L) break; } fin.close(); fin = null; System.out.println("linux.umlを送信完了しました"); socket.close(); } } クライアント側 import java.net.*; import java.io.*; public class FileTransferClientroot { public static void main(String[] args) throws IOException{ if (args.length != 3) throw new IllegalArgumentException("An argument should be port and filename"); String host = args[0]; int servPort = Integer.parseInt(args[1]); String filename = args[2]; System.out.println("Output file name : " + filename); //Create FileOutputStream FileOutputStream fout = new FileOutputStream(filename); //Create ServerSocket Socket servSock = new Socket(host, servPort); int recvMsgSize; int bufSize = 32; System.out.println("Size of ReceiveBuffer : " + bufSize); byte[] byteBuffer = new byte[bufSize]; //Create InputStream InputStream in = servSock.getInputStream(); //Read message and print it out int totalByte = 0; //while((recvMsgSize = in.read(byteBuffer)) != -1){ for(;;){ recvMsgSize = in.read(byteBuffer); totalByte += recvMsgSize; fout.write(byteBuffer,0,recvMsgSize); if(totalByte == 4294971392L) break; } System.out.println("linux.umlを受信完了しました"); servSock.close(); fout.close(); fout = null; } } 実行結果(サーバ側) Connected to server Sending file : uml-root-hardy Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException at java.net.SocketOutputStream.socketWrite(Unknown Source) at java.net.SocketOutputStream.write(Unknown Source) at FileTransferServerroot.main(FileTransferServerroot.java:25) 実行結果(クライアント側) Output file name : uml-root-hardy Size of ReceiveBuffer : 32 Exception in thread "main" java.lang.IndexOutOfBoundsException at java.io.FileOutputStream.writeBytes(Native Method) at java.io.FileOutputStream.write(Unknown Source) at FileTransferClientroot.main(FileTransferClientroot.java:28)

乱数を発生させて、それを配列して小さい順に並べる

$
0
0
乱数の発生のさせ方は、質問集で見て import java.util.Random; class ransuu { public static void main(String args[]) { Random rand = new Random(); for ( int i = 0; i <10; i++){ int x = rand.nextInt(9); System.out.println(x); } } } を用いて表示できたのですが、そのあとの配列がよく分かりませんのでぜひ教えてください。ちなみに私の持っているテキストには任意の数(22、80、57、60、50など)を並べ替えるというものはあるのですが、今回のような乱数+配列の例が載っていないのでよく分かりませんでした。

Javaのswingについて質問です。

$
0
0
public class Enshu12 extends JApplet { private JLabel lb1; private JLabel lb2; int num=0; int now=0; public void init() { lb1=new JLabel("数字を入力してください。"); lb2=new JLabel(""+num+""); add(lb1,BorderLayout.NORTH); add(lb2,BorderLayout.SOUTH); addKeyListener(new SampleKeyListener()); } public class SampleKeyListener extends KeyAdapter { int i; public void keyPressed(KeyEvent e) { char c=e.getKeyChar(); int mod=e.getModifiersEx(); if(mod==InputEvent.SHIFT_DOWN_MASK||c=='-'||c=='/'){ select(c); } else{ inputNum(c); calc(); lb2.setText(""+num+""); } } public void select(char c) { switch(c){ case '+': now=1;lb1.setText("足し算をします。数字を入力して下さい。");break; case '-':now=2;lb1.setText("引き算をします。数字を入力してください。");break; case '*':now=3;lb1.setText("かけ算をします。数字を入力して下さい。");break; case '/':now=4;lb1.setText("割り算をします。数字を入力して下さい。");break; } } public void inputNum(char c) { switch(c){ case '0': i=0;break; case '1': i=1;break; case '2': i=2;break; case '3': i=3;break; case '4': i=4;break; case '5': i=5;break; case '6': i=6;break; case '7': i=7;break; case '8': i=8;break; case '9': i=9;break; } } public void calc() { switch(now){ case 1: num=num+i; break; case 2: num=num-i; break; case 3: num=num*i;break; case 4: num=num/i; break; default : num=i; break; } } } 簡単な電卓を作り電卓機能としてはできたのですが、数字と演算子を交互に入力させたいため、数字または演算子の入力が連続入力された場合は例外処理をさせたいのですが、例外のクラスは作るとしてどのような仕組みにしたら良いでしょうか?単純にbooleanでそれぞれの切り替えをするとうまく動きません・・><教えてください。

javaのインスタンス変数とクラス変数の意味がわからない。

$
0
0
かなり初心者です。全然意味がわかりません。教えてください。よろしくおねがいします。 この意味すべてわからないです。 public class TestCount{ static int counterA; int counterB; public static void main(String []args){ TestCount testA=new TestCount(); TestCount testB=new TestCount(); testA.count(); testB.count(); } public void count(){ for(int i=0;i<5;i++){ counterA++; counterB++; } System.out.println("counterA="+counterA); System.out.println("counterB="+counterB); } } 実行結果 counterA=5 counterA=5 counterB=10 counterB=5 なんでこうなるのかが知りたいです。

InputReader OutputReaderクラスの使い方

$
0
0
以下のmainソースのコンパイルをInputReaderクラス OutputReaderクラスを使ってやりたいのですが うまくいきませんのでよろしくおねがいします。 エラーはシンボルの解釈ができないというものが です。 ////////////////mainファイル package jp.co.aj.main; import jp.co.aj.util.*; import jp.co.aj.data.*; import jp.co.aj.out.*; public class AJ1002 extends OutputWriter{ public static void main(String arg[]){ try{ InputReader ir = new InputReader(arg[0]); /* 入力データクラスの作成 */ OutputWriter ow = new OutputWriter(arg[1]); /* 出力データクラスの作成 */ AddressData address = new AddressData(); /* クラスの生成 */ AddressConvert convert = new AddressConvert(); ir.open(); /* オープン */ ow.open(); int kosu = arg.length;/* 引数の個数 */ for(int i = 0;i < kosu;i++){ /* 次レコードの読み込み */ ir.nextData(); String id = arg[i];/* id取得 *//*以下省略/* /* ワーク領域の出力 */ ow.writeData(); } catch(Exception reigai){/* 例外 */ outputException(reigai);/* エラ */ } } }

digester動きません

$
0
0
Digesterをいじる ​http://www.h7.dion.ne.jp/~s_wat/jakarta/digester.html​ を見てDigesterを動かしてみようと思ってやっているのですが、コンパイルし実行すると org.apache.commons.digester.Digester startElement 致命的: Begin event threw exception と出てきてしまいます。どうしたら良いかわかりません。 commons-beanutils commons-collections commons-logging はjre\lib\extに置いて実行しています。 分かりづらい質問かと思いますがよろしくお願いします。

列挙型:次の要素を返す?

$
0
0
javaで次のようなクラスを作りました。 import java.util.*; public class sample { enum Wind{ EAST,SOUTH,WEST,NORTH; Wind next(Wind w){ switch(w){ case EAST:return SOUTH; case SOUTH:return WEST; case WEST:return NORTH; case NORTH:return EAST; } return null; } } public static void main(String[] args) { Wind w = Wind.EAST; w=w.next(w); System.out.printf("%d",w.ordinal()); } } ここで、next()メソッドは今自分が持っている要素の次の要素を返すメソッドですが、 標準でこのようなメソッドはないのかと疑問に思いました。 今回は4つだったので良かったのですが、 これが100個の要素だったりすれば一つ一つ書くのは馬鹿げていると思います。 色々調べているうちに、EnumMapやEnumSetというクラスの記述に辿り着いたのですが、 このクラスを用いれば上述の「次の要素を返す」或いは「前の要素を返す」などの メソッドが準備されているのでしょうか。 前の要素を返すとか、次の要素を返すとかは結構需要がある気がするので、 そんなことはできない、ということはないと思うのですが…… 宜しくお願いします。

javamailについて

$
0
0
javamailでメール送信を行いたいのですが、プロンプトでコンパイルはとおるのですが、実行すると 「Exception in thread "main" java.lang.NoClassDefFoundError: TestMail」 というエラーが出ます。 何が原因でしょうか?

ライブラリの一覧について

$
0
0
java勉強中で、学習環境はeclips ver3.4.0、JDKTM 6 ドキュメントをダウンロード済みで、軽く一通り目を通した程度です。 数多くの標準ライブラリがありますが、これらの「一覧表」みたいな資料があれば教えて下さい。 入門書の末尾にそれらしい記載のある書物もありましたが、一部のライブラリだったり詳細説明に欠けていたりと、内容的に満足できませんでした。 例えば、 メソッド名 → クラス名 → 機能説明 → inportファイル名 → 記述例 や 機能検索 → クラス名 → メソッド名 → inportファイル名 → 記述例 みたいにメソッド名から調べるパターンと、希望する機能からメソッドに辿り着けるパターンがあれば分かり易いと思います。 宜しくお願いします。

JPEGからBMPへの変換

$
0
0
こんにちは、Makotoと申します。 JavaでJPEGからBMPへ変換を行おうと思っているのですが、 インターネットで調べてみると、JAIというSUNが出している 画像関連ライブラリの存在を知りました。早速ダウンロードしたのですが、 使用方法がいまいちよくわからずにいます。サンプルプログラムがあるような サイトを知っている人がいれば教えていただけないでしょうか?

InputStream.read()でタイムアウトの処理をしたい。

$
0
0
InputStream.read()でタイムアウトの処理をしたい。 現在自分は、InputStreamに入力されたデータをOutputStreamに移したいとかんがえているのですが、途中でreadメソッドが固まってしまいうまくいきません。 ソースで説明させていただきますと、 public static int copy(InputStream input,OutputStream output)throws IOException { byte[] buffer = new byte[1024 * 4]; int count = 0; int n = 0; while (0 < (n = input.read(buffer))) //ここで固まる { output.write(buffer, 0, n); count += n; System.out.println("available = " + input.available()); System.out.println(count + " byte = " + n); } return count; } このようなコピーするメソッドを書いたのですが、何度かループした後readメソッドで固まってしまいます。また、availableは常に0を返しております。 おそらくストリームの終わりが検出できないため、このような状態になっていると推測されるのですが、プログラムの性質上、InputStreamに入ってくるデータを変更することはできません。 なのでこの問題を解決するべく、ある程度の時間readメソッドがブロックされたら、breakするというような処理を書きたいのですが、どのようにすればよいでしょうか?

BMP画像の画像データ本体をテキストデータとして保存したい

$
0
0
BMP画像を読み込んで、ヘッダ箇所などの本体と関係ない部分を読み飛ばして、画像本体をテキストファイルとして保存するプログラムを作ったのですが、実際の画像の大きさ(512x480)と出力結果(質問箇所最下に記載)の画像の大きさが異なってしまいます。あまり画像に詳しくないので、どこが間違っているのか分かりません。どこを修正すべきか教えてください。以下が作成したプログラムです。 public class bmpTotxt {  public static void main(String[] args){   try {    FileReader fr = new FileReader("./1.bmp");    BufferedReader br = new BufferedReader(fr);    FileWriter fw = new FileWriter("./pic.txt");    int i,count=0,len=0,width=512*4,height=0;    while((i = br.read()) != -1){     /* 画像本体箇所なら */     if(len >= 54){      fw.write(i+" ");      len++;      count++;            if(count == width){        fw.write("\n");        height++;        count = 0;      }     }     else{       len++;     }    }    System.out.println("ヘッダ長:"+54);    System.out.println("画像データ長:"+(len-54));    System.out.println("width:"+width/4);    System.out.println("height:"+height);    fr.close();    fw.close();   }   catch (Exception e) {    e.printStackTrace();   }  } } /* 出力結果   ヘッダ長:54   画像データ長:648480   width:512   height:316 */

テキストボックスから勝手に画面遷移される。

$
0
0
urizakaです。 現在J-BUilderを使ってテキストボックスに入力された内容をDBに送るという JSPの画面を作っているのですが、そこでテキストボックスでEnterキーを押すと 勝手にサーブレットに遷移されるというエラーが発生してしまいます。最初は、 <Form name="Insert" Method="POST" Action="…"> (…にはサーブレットのアドレスが入ります) と設定しているので、それでActionに登録されたサーブレットに遷移してしまう のだと思い、ActionをJSP上のボタンが押された時に設定されるようにしたのですが、そうするとそのページが表示される前に実行されるサーブレットに移動してしまいます。もしかすると、HTMLの設定の問題なのかもしれませんが、すみませんが この件についてご存知の方がいらっしゃいましたら教えてください。  宜しくお願いします。

データベースとのやり取り(サーブレット)

$
0
0
String q1 = "USE riyou"; st.execute(q1); String q2 = "LOCK TABLE r1 WRITE"; st.execute(q2); String q3 = "SELECT * FROM r1 where ban=" + items[0]; ResultSet rs = st.executeQuery(q3); String set[] = {" ","0","1","2","3","4","5","6","7","8","9"}; for( int i = 0;i < 11;i++ ){ if( rs.getString("tou") == set[i] ){ out.println("test"); } out.println("" + set[i] + "0000000"); } touの中身は"1"なんですがIFの条件に合いません。なぜなんでしょうか??set[]の中には"1"が入っているはずなんですが・・・。ちなみにtouもset[2]も文字の"1"なんです。昨日から2日悩んでます;;原因のわかる方いましたらお願いします。

使用しているJUnitのバージョン確認の方法

$
0
0
OS:WindowsXPpro JDK:6update12 JUnit4.8を使用したいのですが Eclipse3.5.1EEは初期状態での JUnitのパッケージのバージョンは4.4.xになっています。 そこで、プロジェクトにJUnit4.8.jarへのクラスパスを通し、 使用しているJUnitが変わったことを確認しようとしたのですが 使われているJUnitのバージョンの取得方法が分かりませんでした。 実際にEclipseで使用されたJUnitのバージョンを確認する方法はありませんでしょうか? # この質問は以下の質問の続きになっています。 # 「Eclipse3.5.1のJUnitぼバージョンアップ方法」 # http://oshiete1.goo.ne.jp/qa5505472.html

eclipseでスタックサイズを変更するには?

$
0
0
eclipseを使ってJavaプログラムを書いているのですが、java.lang.StackOverflowErrorというエラーが出てしまいました。どうやら、-Xssオプションでスタックサイズとやらを増やさなくてはいけないらしいのですが、eclipseではどうやればいいのですか?

TomCatが動作しません

$
0
0
【JDK】 java version "1.5.0_07" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-b03) Java HotSpot(TM) Client VM (build 1.5.0_07-b03, mixed mode, sharing) InstallDir F:\jdk 【TomCat】 Version 5.5.17 InstallDir F:\Program Files\Apache Software Foundation\Tomcat 5.5 JVM F:\jdk\jre\bin\server\jvm.dll 【環境変数】 CATALINA_HOME F:\Program Files\Apache Software Foundation\Tomcat 5.5 CLASSPATH F:\jdk\lib JAVA_HOME F:\jdk 以上の設定で、TomCatが動作しません。 (http://localhost:8080/にアクセス出来ない) catalina.xx.logを見ると以下のようなエラーが発生しています(詳細は省略)。 致命的: エンドポイントを初期化中のエラーです 致命的: Catalina.start LifecycleException: プロトコルハンドラの初期化に失敗しました: java.lang.Exception: Socket bind failed: [730048] ???A?e?\?P?b?g ?A?h???X???μ??v???g?R???A?l?b?g???[?N ?A?h???X?A?????|?[?g???? 1 ?? ?????g?p??≪??・?B 情報: XML検証は無効です 致命的: エンドポイントを起動中のエラーです 致命的: Catalina.start: LifecycleException: service.getName(): "Catalina"; プロトコルハンドラの起動に失敗しました: java.lang.Exception: Socket bind failed: [730048] ???A?e?\?P?b?g ?A?h???X???μ??v???g?R???A?l?b?g???[?N ?A?h???X?A?????|?[?g???? 1 ?? ?????g?p??≪??・?B これは、どうすれば良いのでしょうか? 宜しくお願い致しますm(_ _)m

印刷(サーブレット)

$
0
0
アプレットでの印刷はAWTでやったのですが、 Servlet+JSP+Beanを使いサーバサイドで Javaを動かすとき、印刷処理は 可能ですか? ServletではGUIをもたないと 参考書にかいてたんですが AWT自体使えないということなのでしょうか? サーバサイドでの印刷についてなんでもいいので ご教授いただきたいです。

javaでDBから取得したデータのJSP表示

$
0
0
JAVAでDBから取得し ArrayList shikakuCdList = shikakuCd_Data(); request.setAttribute("shikakuCdList", shikakuCdList); JSPでコンボボックスに表示しようと思います <% ArrayList bumonlist = (ArrayList)request.getAttribute("bumonCdList");%> <% for ( int i = 0; i < bumonlist.size(); i++ ){%> <option value=" (1)ここの記述方法も  "></option> <% }%> という記述にしていますが、うまく動きません。 よろしくお願いします。




Latest Images