Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

bug avec file.create

6 réponses
Avatar
jnstaub
file.create ne libére jamais la ressource!!!
contournement
Dim sw As StreamWriter = File.CreateText("c:\temp\ok.txt")
sw.Close()

File.Delete("c:\temp\ok.txt")

6 réponses

Avatar
Gilles TOURREAU
Le Fri, 17 Aug 2007 02:52:36 +0200, jnstaub
a écrit:

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
Avatar
jnstaub
"Gilles TOURREAU" a écrit :

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

> 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


Avatar
jnstaub
"Gilles TOURREAU" a écrit :

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

> 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.
Avatar
Gilles TOURREAU
Le Fri, 17 Aug 2007 17:08:03 +0200, jnstaub
a écrit:



"Gilles TOURREAU" a écrit :

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

> 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
Avatar
Patrice
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" a écrit dans le message de
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")


Avatar
Patrice
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" a écrit dans le message de
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")