私は7500レコードのデータベーステーブルを持っています。私はすべての7500のjpg画像をラップトップのフォルダにエクスポートし、EMPID + TYPEに基づいて名前を付けることができるものを書きたいと思っています。Javaを使用してSQL Serverからバイナリデータをエクスポートする
だから、ブロブは、最初の行の1008421_0.jpg
という名前になり、私はこのような何かを考えていたが、どのようにiは、各画像に名前を付けるのですか?
String filePath = "C:/Photos/";
try {
Connection conn = DriverManager.getConnection(url);
String sql = "SELECT * FROM MMOBJ WHERE EMPID > 1 ";
PreparedStatement statement = conn.prepareStatement(sql);
ResultSet result = statement.executeQuery();
while (result.next()) {
Blob blob = result.getBlob("photo");
InputStream inputStream = blob.getBinaryStream();
OutputStream outputStream = new FileOutputStream(filePath);
int bytesRead = -1;
byte[] buffer = new byte[BUFFER_SIZE];
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
inputStream.close();
outputStream.close();
こんにちはSamjaf、ありがとうございます、私のfilepathはString filePath = "C:/Photos/Test.jpg"です。つまり、すべての画像の名前はtest.jpgですか?私はそれを変えようとします。ご返信ありがとうございます。 –
あなたの提案を取り入れて、私が達成したいことを明確にするために質問を編集しました。 –