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 45
|
//On met le buffer de données dans un fichier temporaire que l'on ouvre
//Ici le type est l'extension du fichier (dans ton cas type = "pdf")
File file = new File("tmp."+type);
try {
FileOutputStream tmpFile = new FileOutputStream(file);
tmpFile.write(data); //data est le buffer de données de type byte[]
tmpFile.close();
}
catch (FileNotFoundException e1) {
e1.printStackTrace();
}
catch (IOException e2) {
e2.printStackTrace();
}
//On ouvre le fichier
try {
Desktop.getDesktop().open(file);
}
catch (IOException e1) {
//Si le type est inconnu on recopie dans un un fichier txt que l'on lance après
File tmp = new File("tmp.txt");
try {
FileInputStream in = new FileInputStream(file);
FileOutputStream out = new FileOutputStream(tmp);
byte[] dataTmp = new byte[1024];
//Lecture du fichier
while(in.available() != 0){
in.read(dataTmp);
out.write(dataTmp);
}
in.close();
out.close();
Desktop.getDesktop().open(tmp);
} catch (FileNotFoundException e2) {
e2.printStackTrace();
} catch (IOException e3) {
e3.printStackTrace();
}
} |