Avatar ·

Comment convertir un fichier en tableau d'octets (byte[]) en Java ?

Bonjour à tous ! Je suis débutant en Java et j'ai rencontré un problème : je dois lire un fichier entier et obtenir son contenu sous forme de tableau d'octets (byte[]). La tâche spécifique est de charger une image depuis le disque et de l'envoyer via une requête HTTP. J'ai essayé plusieurs méthodes, mais elles semblent toutes lourdes ou entraînent des erreurs. Par exemple, j'ai essayé d'utiliser FileInputStream :
File file = new File("image.jpg");
FileInputStream fis = new FileInputStream(file);
byte[] data = new byte[(int) file.length()];
fis.read(data);
fis.close();
Mais ce code ne lit parfois pas tout le fichier, surtout s'il est volumineux. J'ai aussi entendu parler d'Apache Commons IO, mais je ne veux pas ajouter de bibliothèques externes pour une tâche aussi simple. Dites-moi comment lire correctement et de manière fiable un fichier dans un tableau d'octets.