Récuperer un document riche (Ms Word) depuis MS Access en Java
Bonjour,
Depuis un bout de temps je cherche à extraire un fichier Document MS Word stocké dans une table sur MS Access.
j'ai utilisé POI et UcanAccess mais ça ne marche pas , j'arrive à extraire le fichier mais quand je l'ouvre on me demande de choisir l'encodage ! ce n'est pas lisible.
selectedBulletin = le bulletin sélectionné pour extraire le fichier correspondant.
getBinaryStream(6) = la 6eme colonne de la table Bulletin_d'essaie-tab contient le fichier MS World .
Code:
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
|
try (Connection con = DriverManager.getConnection(BD_URL);
Statement stmt = con.createStatement();
ResultSet res = stmt.executeQuery("SELECT * FROM [Bulletin_d'essai-tab] "
+ "WHERE [N° BE]='" +selectedBulletin.getNumBE() +"'");) {
while(res.next()){
if(res.getBinaryStream(6)!=null){
InputStream inputStream;
Blob blob= res.getBlob(6);
inputStream=blob.getBinaryStream();
String desktopDirectory = "C:\\Users\\Nirspote\\Desktop\\Tiss" ;
File nv_fichier = new File(desktopDirectory +"\\" +selectedBulletin.getNumBE() +".txt");
FileOutputStream fos = new FileOutputStream(nv_fichier);
int b =0;
while ((b = inputStream.read()) != -1)
{
/* IOUtils.copy(inputStream, fos);
IOUtils.closeQuietly(inputStream);
IOUtils.closeQuietly(fos);
*/
fos.write(b);
}
fos.close(); |
j'ai essayé d'écrire via fos.Write(b) et aussi j'ai essayé via IOUtils , mais le même résultat.
j'ai aussi essayer cette méthode d'écriture mais le même résultat.
Code:
1 2 3 4
| Files.copy(
inputStream,
nv_fichier.toPath(),
java.nio.file.StandardCopyOption.REPLACE_EXISTING); |
--
l'accès à la base de données Ms Access se fait via UcanAccess
Code:
1 2
| private static final String VAR_BD_URL = "C:/Users/Nirspote/Desktop/Tiss/Base de données LHN.accdb";
private static final String BD_URL ="jdbc:ucanaccess://" +VAR_BD_URL; |
Merci d'avance pour votre aide.:)
Migration vers .pdf au lieu de .doc
Re bonjour,
Merci pour votre aide, apparemment ça ne fonctionne pas juste pour le .doc mais ça marche pour les autres extensions comme .pdf et .rar ...
Je pense que je vai intégrer les .pdf à la place de .doc pour ça fonctionne.
Problème résolu.
merci beaucoup pour votre aide.
bonne journée.