0
データベースからイメージを取得してPersonクラスに追加しようとしました。 Files.copy()で画像を新しい画像ファイルにコピーし、新しいImageオブジェクトを設定しました。しかし、すべてのコピーのすべてのプロセスが最初に開始されたように見えるので、すべてのImageオブジェクトには1つのイメージしかありません。最後にコピーされたイメージです。それを修正するには?Files.copyメソッドが正常に動作しません
try {
checkConnection();
rs = con.prepareStatement("SELECT * FROM Staff").executeQuery();
while(rs.next()){
InputStream is = rs.getBinaryStream("Photo");
Files.copy(is, Paths.get("src\\ilc\\images\\image.jpg"), StandardCopyOption.REPLACE_EXISTING);
Image image = new Image("ilc/images/image.jpg", 100, 100, true, true);
Rectangle rectangle = new Rectangle();
persons.add(
new Person(rs.getString("Name"),
rs.getInt("Salary"),
rs.getDouble("Influence"),
false,
false,
false,
image)
);
}
rs.close();
}
catch (FileNotFoundException ex) {
ex.printStackTrace();
}
catch (SQLException ex) {
ex.printStackTrace();
}
catch (IOException ex) {
ex.printStackTrace();
}
uはのInputStream '後、あなたが持っているのInputStreamで画像を作成したくない理由is = rs.getBinaryStream( "Photo"); '? 'Files.copy'をまったく使う必要はありません。 – Enigo
あなたはGENIUS MANです!できます!どうもありがとうございます! :D –
すごくうれしいです。私はあなたの質問を閉じることができるように答えとしてそれを掲示した) – Enigo