webForumDet fria alternativet

Ändra längd av FileStream

.NET

2 svar · 256 visningar · startad av Han-Solo

Medlem sedan jan. 2001290 inlägg
Frågan#1

Hallå!

Dök på ett litet problem.

Jag ska ta bort ett ord i en fil. Detta skall jag göra utan att någon annan kan påverka det jag gör genom att skriva till ett ord tex under min operation. Därför har jag skapat ett FileStream object med 'System.IO.FileShare.None' m.m. i filströmen tar jag bort ordet och flyttar upp den text som finns nedanför. På det viset ser filen skaplig ut... dock finns en massa \0 längst bak i filen eftersom jag bara tagit bort texten inte ändrat storleken på filen.

Har någon tips på hur man kan gå till väga.

som sagt... viktigt att ingen annan kan förstöra!!!

Medlem sedan dec. 19996 721 inlägg
#2

Du bör lösa det genom att spara ut en ny fil under tiden du läser den gamla. Hoppa över att skriva det ord som inte ska vara med. Efter operationen ersätter du den gamla filen med den nya.

Medlem sedan jan. 2001290 inlägg
#3

emission skrev:

Du bör lösa det genom att spara ut en ny fil under tiden du läser den gamla. Hoppa över att skriva det ord som inte ska vara med. Efter operationen ersätter du den gamla filen med den nya.

mmm... jag löste det precis så... men från det att jag släpper låset på filen tills det att den nya filen lagts på plats kan ju... rent teoretiskt iaf... nått gå fel... men ah... jag blundar för det, just för tillfället, tror jag :)

274 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)