January 29, 200422 yr Voila je galère grave j'ai une erreur "out of memory" lorsque je lance mon prog Java. Apparement ca viens du buffer peut pas etre allouer car son type permet pas une taille aussi grande! J'utilise: byte[] octetsFichiers = new byte[taille]; Voila si vous pouviez m'aider mici a tous
January 30, 200422 yr Author voila un extrait du prog try { Socket c = new Socket(InetAddress.getByName("10.20.104.8"),4444); File file = new File("c:/toto.avi"); //creationd'un objet file ayant comme chemin d'acces int taille = (int)file.length(); ///calcule la taille de ce fichier System.out.println("Taille : "+taille); FileInputStream filein = new FileInputStream(file);//ouverture d'un flot de lecture sur l'objet de type file byte[] octetsFichiers = new byte[taille];//declaration d'un tableau ayant comme contenance la taille du fichier toto //c'est ici que ca plante je crois, le type byte ne peut pas contenir autant d'info c.a.d un film qui fait environ 700Mo!!! filein.read(octetsFichiers); DataInputStream in = new DataInputStream(c.getInputStream()); DataOutputStream out = new DataOutputStream(c.getOutputStream()); out.writeInt(taille); out.write(octetsFichiers); out.flush(); filein.close(); c.close(); } voila j'espère que tu pourras me trouver une class qui me gère ça (j'ai essayé LongBuffer mais j'ai le meme problème)
January 30, 200422 yr Euh une allocation mémoire de 700 Mo je pense que c'est un peu abusé, si tu en arrives là c'est que tu as dû faire une erreur de conception quelque part... Essaie plutôt de charger des bouts du fichier seulement ? Ou de changer ton algorithme. Concernant la technique pure, je ne pense pas qu'il y ait de limite physique à la taille des tableaux, je dirais plutôt que ça dépend de la machine virtuelle qui n'arrive pas à demander 700 Mo à l'OS... Tu as combien de ram ? et de swap ?
February 2, 200422 yr Author C'est bon j'ai trouvé comment faire avec la class randomaccessfile! Merci quand meme
February 2, 200422 yr Ah, content pour toi :8 Enin c'est bien ce que je pensais : mettre un fichier de 700 Mo en mémoire, ça sentait l'erreur de conception
Archived
This topic is now archived and is closed to further replies.