Bonjour

J'ai une application qui va lire la contenu d'un Blob contenu dans une base oracle. En voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
 Connection conn = null;
		PreparedStatement stmt = null;
		ResultSet rs = null;
 
		InputStream in = null;
		OutputStream out = null;
 
		Blob blob = null;		
		String fileName = null;
 
		try {
 
			conn = (Connection)pm.getConnection();
 
			conn.setAutoCommit(false);
			stmt = conn.prepareStatement("SELECT id,Contenu FROM ged.courrier WHERE evenement_id = ?");
			stmt.setString(1, unIdCourrier );
			rs = stmt.executeQuery();
 
			if(rs.next()) {
				blob = rs.getBlob("Contenu");
 
 
			}
			in = blob.getBinaryStream();
			fileName = unIdCourrier + ".jpg";
			String filePath = dirPath + "\\"+fileName;
			out = new FileOutputStream(filePath);
			long bufferSize = blob.length();
			byte[] buffer = new byte[24];
			int bytesRead = 0;
			while ((bytesRead = in.read(buffer)) != -1) {
				out.write(buffer, 0, bytesRead);
			}
            stmt.clearParameters();
			buffer = null;
		}
		catch(SQLException ex) {
			ex.printStackTrace();
		}
		catch(Exception e) {
			e.printStackTrace();
		}
Ce bout de code va lire le flux binaire contenu dans le Blob et crée le fichier correspondant. Ici, il s'agit d'une image. Le pb, c'est : comment conaitre l'extension du fichier contenu dans le Blob ? Parce que dans mon exemple, je présume de l'extension. Mais il peut s'agir de n'importe quel fichier...

Merci.