Quelle difference entre Stream.Flush() et FileStream.Flush() ?

KSUSHQ 15 Messages postés vendredi 12 janvier 2018Date d'inscription 21 février 2018 Dernière intervention - 23 janv. 2018 à 16:18 - Dernière réponse : Whismeril 11416 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention
- 30 janv. 2018 à 07:13
Bonjour , la question est dans le titre merci.
Afficher la suite 

23 réponses

Répondre au sujet
vb95 1510 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention - Modifié par vb95 le 23/01/2018 à 17:27
0
Utile
1
Bonjour !
La réponse est ici : https://msdn.microsoft.com/fr-fr/library/2bw4h516(v=vs.110).aspx
Regarde juste après le mot "Notes" en gras !

KSUSHQ 15 Messages postés vendredi 12 janvier 2018Date d'inscription 21 février 2018 Dernière intervention - 23 janv. 2018 à 19:58
jcromprend pas trop à quoi sert flush en fait, et ni en quoi Filestream.flush apporte de plus...
"efface toutes les mémoires tampons pour ce flux et provoque l'écriture de toutes les données se trouvant dans des mémoires tampons sur l'appareil sous-jacent."

"Efface les mémoires tampons pour ce flux et provoque l'écriture dans le fichier des données mises en mémoire tampon."

il parle de quel flux ? si il efface ce flux ça veux dire qu'il copies des données qui ont rien à voir ? chui un peu perdu avec leur explications

https://msdn.microsoft.com/fr-fr/library/system.io.stream.flush(v=vs.110).aspx

https://msdn.microsoft.com/fr-fr/library/2bw4h516(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2
Commenter la réponse de vb95
vb95 1510 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention - 23 janv. 2018 à 20:24
0
Utile
17
Bonjour !
Déjà la méthode Flush est très rarement utilisée !
Lorsque le système d'exploitation charge ou envoie un fichier il crée un flux de données ( un Stream ) pour pouvoir recevoir et envoyer ces données . Il faut voir ce flux de données comme une canalisation d'eau chez toi : tu veux 10 litres d'eau ta canalisation va débiter pendant 5 minutes . tu en veux 100 litres ce sera pendant 50 minutes ( d'où le nom de flux de données ) !
En informatique le flux de données est géré par paquets : un fichier de 1 Ko ne nécessitera qu'un paquet alors qu'un fichier de 20 Go en nécessitera plusieurs !
Quand tu télécharges un fichier par le Net par exemple tu télécharges ce fichier par paquets . Chaque paquet est mis dans une mémoire tampon et le système va chercher les morceaux de fichier dans cette mémoire tampon et reconstitue le fichier téléchargé .!
Flush permet de vider la mémoire tampon d'un flux de Données ( le fameux Stream ou FileStream ) : tout le contenu de la mémoire tampon est d'abord copié dans le fichier destination que tu télécharges !
Maintenant l'objet Stream et l'objet FileStream sont quasiment équivalents .

vb95 1510 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention > KSUSHQ 15 Messages postés vendredi 12 janvier 2018Date d'inscription 21 février 2018 Dernière intervention - 24 janv. 2018 à 19:19
C'est marrant tu ne fais penser à quelqu'un !
Whismeril 11416 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention > vb95 1510 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention - 24 janv. 2018 à 19:35
C'est marrant moi aussi...
vb95 1510 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention > Whismeril 11416 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention - 24 janv. 2018 à 19:38
Salut Whismeril
On se comprends Whis
KSUSHQ 15 Messages postés vendredi 12 janvier 2018Date d'inscription 21 février 2018 Dernière intervention > vb95 1510 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention - 24 janv. 2018 à 19:41
? , les flux ne se mélange peut-être pas mais il peux peut-être y en avoir plusieurs dans le tampon sans pour autant se mélanger c'est ce que je voulais dire , donc un oui ou un non , je vais formuler un peux plus clairement ,
1: es-qu'un tampon peux contenir plusieurs flux sans se mélanger et quand t'on fais Flush() il vide le flux concerner sans vider les autres
2: ou es-que le tampon contient qu'un seul type de flux à la fois et quand t'il est plein il se vide et Flush() sert à forcer le vidage du flux concerner dans le tampon sans qu'il est besoin d’être plein

donc 1 ou 2 , ou aucun des deux ?

perso je dirais 2 comme ton explication un peu plus haut
"Quand tu télécharges un fichier par le Net par exemple tu télécharges ce fichier par paquets . Chaque paquet est mis dans une mémoire tampon et le système va chercher les morceaux de fichier dans cette mémoire tampon et reconstitue le fichier téléchargé .!
Flush permet de vider la mémoire tampon d'un flux de Données ( le fameux Stream ou FileStream ) "
KSUSHQ 15 Messages postés vendredi 12 janvier 2018Date d'inscription 21 février 2018 Dernière intervention - 24 janv. 2018 à 19:48
Bon... j'en déduis que c'est la 2 , pour en revenir à la question de base Flush() de Stream et celui de FileStream pas de différences alors ?
Commenter la réponse de vb95
KSUSHQ 15 Messages postés vendredi 12 janvier 2018Date d'inscription 21 février 2018 Dernière intervention - 24 janv. 2018 à 21:38
0
Utile
Par hasard es-que la mémoire tampon a une taille fixe ?
Commenter la réponse de KSUSHQ
KSUSHQ 15 Messages postés vendredi 12 janvier 2018Date d'inscription 21 février 2018 Dernière intervention - Modifié par KSUSHQ le 30/01/2018 à 04:20
0
Utile
1
Bonjour , si un programme a créer (ou plutôt l'OS) des mémoires tampon et que ce programme vient de se fermer es-que un autre programme pourrait utiliser une parties ou plus, suivant ses besoins ces Buffers ? et combien fait la taille maximum d'un Buffer? merci.
Whismeril 11416 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention - 30 janv. 2018 à 07:13
Question 1 non

Question 2, tu l'as déjà posée et nous n'y avons pas répondu, c'est qu'on a pas la réponse.
Commenter la réponse de KSUSHQ

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.