Avec Java:
J'ai un byte[]
qui représente un fichier.
Comment puis-je écrire cela dans un fichier (c'est à dire. C:\myfile.pdf
)
Je sais que c'est fait avec InputStream, mais je n'arrive pas à s'en sortir.
Avec Java:
J'ai un byte[]
qui représente un fichier.
Comment puis-je écrire cela dans un fichier (c'est à dire. C:\myfile.pdf
)
Je sais que c'est fait avec InputStream, mais je n'arrive pas à s'en sortir.
L'utilisation d'Apache Commons IO
Ou, si vous insistez pour faire le travail pour vous-même...
FileOutputStream fos = new FileOutputStream("pathname");
fos.write(myByteArray);
fos.close();
Sans aucun bibliothèques:
FileOutputStream stream = new FileOutputStream(path);
try {
stream.write(bytes);
} finally {
stream.close();
}
Avec Google Goyave:
Files.write(bytes, new File(path));
Avec Apache Commons:
FileUtils.writeByteArrayToFile(new File(path), bytes);
Toutes ces stratégies exigent que vous attrapez un IOException à un certain point.
À partir de Java 7 ultérieur, vous pouvez utiliser le try-with-resources instruction pour éviter des fuites de ressources et de rendre votre code plus facile à lire. Plus sur cela ici.
Pour écrire votre byteArray
d'un fichier que vous voulez faire:
try (FileOutputStream fos = new FileOutputStream("fullPathToFile")) {
fos.write(byteArray);
} catch (IOException ioe) {
ioe.printStackTrace();
}
Exemple de base:
String fileName = "file.test";
BufferedOutputStream bs = null;
try {
FileOutputStream fs = new FileOutputStream(new File(fileName));
bs = new BufferedOutputStream(fs);
bs.write(byte_array);
bs.close();
bs = null;
} catch (Exception e) {
e.printStackTrace()
}
if (bs != null) try { bs.close(); } catch (Exception e) {}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.