J'ai beau cherché, je ne trouve pas donc voilà :
je débute en Java et vient d'un monde purement Windows et pour commencer mon programme je fait une sorte classe pour stocker des streams très grands. Déjà, j'ai pas trouvé en Java de classe qui permette de lire et écrire simultanément vers un Stream incluant une méthode "seek" ( lui même pointant vers un fichier "cache" ) et je me suis donc tourné vers Unified IO et la classe RandomAccessBuffered mais j'ai pu faire un constat :
Je crées un RandomAccessBuffered avec RandomAccessFactory.createBuffered(OutputStream) pour sauvegarder mon "archive" de streams et j'écrit pour tester un byte[] de 4 Mo ( tous égaux à 0 ) mais tant que j'appelle pas "flush", le fichier fait 0 octets sur le disque.
Sous windows je me souvient qu'il y a aussi un buffer mais il fait pas plus de quelques Ko alors où sont mes 4 Mo ? en mémoire ? si oui comment faire pour qu'ils n'y soit jamais ( cf. réduire le tampon ) car je voudrais pas qu'en écrivant un fichier de 500 Mo il y ai la même taille en mémoire![]()
ps. j'ai aussi vu la class java.io.RandomAccessFile mais je ne l'ai pas éssayée car ça marche qu'avec des "File" alors que je veux des méthodes avec des Streams pur
[ Modéré par SEMPERE Benjamin ]
Ajout d'un tag dans le titre
Les Règles du Forum
Partager