bug avec file.create

Le
jnstaub
file.create ne libére jamais la ressource!!!
contournement
Dim sw As StreamWriter = File.CreateText("c:tempok.txt")
sw.Close()

File.Delete("c:tempok.txt")
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles TOURREAU
Le #12244231
Le Fri, 17 Aug 2007 02:52:36 +0200, jnstaub

file.create ne libére jamais la ressource!!!
contournement
Dim sw As StreamWriter = File.CreateText("c:tempok.txt")
sw.Close()

File.Delete("c:tempok.txt")



C'est le comportement normal de File.CreateText()...

Selon Microsoft : "File.CreateText() : Crée ou ouvre un fichier pour
écrire du texte codé UTF-8."

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
jnstaub
Le #12244211
"Gilles TOURREAU" a écrit :

Le Fri, 17 Aug 2007 02:52:36 +0200, jnstaub

> file.create ne libére jamais la ressource!!!
> contournement
> Dim sw As StreamWriter = File.CreateText("c:tempok.txt")
> sw.Close()
>
> File.Delete("c:tempok.txt")

C'est le comportement normal de File.CreateText()...

Selon Microsoft : "File.CreateText() : Crée ou ouvre un fichier pour
écrire du texte codé UTF-8."

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
OUI, peut être mais ce n'est pas dit ! et quand on utilise ce procedé pour synchroniser deux applications (une web ,une windows par exemple ou un workflow) en surveillant le repertoire c:temp, on a un pb


jnstaub
Le #12244201
"Gilles TOURREAU" a écrit :

Le Fri, 17 Aug 2007 02:52:36 +0200, jnstaub

> file.create ne libére jamais la ressource!!!
> contournement
> Dim sw As StreamWriter = File.CreateText("c:tempok.txt")
> sw.Close()
>
> File.Delete("c:tempok.txt")

C'est le comportement normal de File.CreateText()...

Selon Microsoft : "File.CreateText() : Crée ou ouvre un fichier pour
écrire du texte codé UTF-8."

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
je parle de file.create pas de file .createtext


Nom Description
File.Create (String) Crée un fichier dans le chemin d'accès spécifié.
Pris en charge par le .NET Compact Framework.
Gilles TOURREAU
Le #12244191
Le Fri, 17 Aug 2007 17:08:03 +0200, jnstaub



"Gilles TOURREAU" a écrit :

Le Fri, 17 Aug 2007 02:52:36 +0200, jnstaub

> file.create ne libére jamais la ressource!!!
> contournement
> Dim sw As StreamWriter = File.CreateText("c:tempok.txt")
> sw.Close()
>
> File.Delete("c:tempok.txt")

C'est le comportement normal de File.CreateText()...

Selon Microsoft : "File.CreateText() : Crée ou ouvre un fichier pour
écrire du texte codé UTF-8."

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
je parle de file.create pas de file .createtext


Nom Description
File.Create (String) Crée un fichier dans le chemin d'accès spécifié.
Pris en charge par le .NET Compact Framework.




Autant pour moi...

Mais c'est aussi le comportement normale de File.Create() car selon
Microsoft (rubrique Notes) :

"L'objet FileStream créé par cette méthode a une valeur FileShare par
défaut de None ; aucun autre processus ou code ne peut accéder au fichier
créé avant que le handle du fichier d'origine ne soit fermé. [...] Par
défaut, tous les utilisateurs ont l'autorisation d'accès complet en
lecture/écriture aux nouveaux fichiers. Le fichier est ouvert avec accès
en lecture/écriture et doit être fermé avant qu'il ne puisse être ouvert
par une autre application."

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Patrice
Le #12244031
Et plus généralement toujours montrer le code qui pose problème plutôt que
du code de contournement qui n'est pas très utile pour comprendre le
problème original (le "create" était assimilé à un open/close ?).

---
Patrice

"jnstaub" news:
file.create ne libére jamais la ressource!!!
contournement
Dim sw As StreamWriter = File.CreateText("c:tempok.txt")
sw.Close()

File.Delete("c:tempok.txt")


Patrice
Le #12244041
Et plus généralement toujours montrer le code qui pose problème plutôt que
du code de contournement qui n'est pas très utile pour comprendre le
problème original (le "create" était assimilé à un open/close ?).

---
Patrice

"jnstaub" news:
file.create ne libére jamais la ressource!!!
contournement
Dim sw As StreamWriter = File.CreateText("c:tempok.txt")
sw.Close()

File.Delete("c:tempok.txt")


Publicité
Poster une réponse
Anonyme