- PR -

getImageでは、ファイルの有無を判断できない?

1
投稿者投稿内容
Nakajima
会議室デビュー日: 2003/06/10
投稿数: 5
投稿日時: 2003-08-04 02:24
Frameに画像を表示するテストプログラムを作りました。
以下がコードです。

import java.awt.*;
import java.awt.event.*;
class Test extends Frame {
private Image pattern;
public static void main(String[] args) {
Test test = new Test();
test.setSize(150, 150);
test.setVisible(true);
}
Test() {
pattern = getToolkit().getImage("Test.jpg");
if(pattern == null) {
System.out.println("エラーです");
}
}
public void paint(Graphics g) {
g.drawImage(pattern,50, 50, this);
}
}

このプログラムは、画像ファイルがあるときは正しく表示しますが、
画像ファイルが無くてもエラーになりません。
どうも、getImageは、画像が無くてもImageのインスタンスを返すようです。
ファイルの有無はgetImageでは判断できないのでしょうか?
無理だとしたら、もっとも簡単にファイルの有無を判断する方法は
どのようなコードになるでしょうか。
どなたか、定石のようなものをお知りなら教えてください。
お願いします。
未記入
大ベテラン
会議室デビュー日: 2003/06/28
投稿数: 219
投稿日時: 2003-08-04 09:12
おはようございます。
確かにgetImageはファイルの有無に関係なくインスタンスを返してしまいますね。
ファイルの有無の判断にはいくつか方法があると思いますが、自分が考えたのは
g.drawImage の戻り値を見る方法です。
描画成功時true, 失敗時にはfalseが戻りますので、これで判別できます。
ただし、描画が完了しないとtrueが返らないので、判断にタイムラグが出る欠点があります。
Wata
ぬし
会議室デビュー日: 2003/05/17
投稿数: 279
投稿日時: 2003-08-04 09:21
引用:

もっとも簡単にファイルの有無を判断する方法は
どのようなコードになるでしょうか。
どなたか、定石のようなものをお知りなら教えてください。


一般的にはファイルの取扱いはjava.io.Fileクラスを使用します。
ファイルの有無の確認は次のようになります。
コード:
File file = new File("Test.jpeg");
if(file.exists()){
   // ファイルがあったら
}
else {
  // なかったら
}


ゆう
ベテラン
会議室デビュー日: 2003/06/20
投稿数: 56
投稿日時: 2003-08-04 09:27
こんにちわ。いつもお世話になっております。

引用:

無理だとしたら、もっとも簡単にファイルの有無を判断する方法は
どのようなコードになるでしょうか。



簡単かどうかわかりませんが

コード:

File img = new File("hoge.jpg");
if (img.exists()) {
System.out.println("file found.");
} else {
System.out.println("file not found.");
}



でしょうか。わざわざFileオブジェクトを生成しないといけませんが


[ メッセージ編集済み 編集者: ゆう 編集日時 2003-08-04 09:33 ]
ゆう
ベテラン
会議室デビュー日: 2003/06/20
投稿数: 56
投稿日時: 2003-08-04 09:31
Wataさんとかぶってしまいましたね;sweat;
1

スキルアップ/キャリアアップ(JOB@IT)