407 votes

byte[] pour fichier en Java

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.

614voto

bmargulies Points 49855

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();

229voto

SharkAlley Points 2239

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.

20voto

Voicu Points 2818

À 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();
}

4voto

Gareth Davis Points 16190

Essayez un OutputStream ou plus précisément FileOutputStream

4voto

barti_ddu Points 5423

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.com

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.

Powered by:

X