webForumDet fria alternativet

Kopiera fil

.NET

3 svar · 283 visningar · startad av Bjuris

Medlem sedan juli 2001514 inlägg
Frågan#1

Jag skapar en textfil med hjälp av FSO.
Denna textfil skall ett program hämta in för att skicka vidare den till en massa olika platser.
Programmet som skall läsa pollar en katalog, men problemet är att när jag skapar filen så är den inte låst, det innebär att programmet som skall "trixa" med filen ibland läser in filen när filen inte är färdig.

Jag har läst på webben att när man kopierar filer så är dem låsta, och jag tänkte då lösa mitt problem med att skapa filen i ett temp bibliotek, när filen är färdig så kopierar jag över den till bibliotekte som pollas av det andra programmet.

till min fråga, finns det något enkelt sätt att kopiera filen?

Medlem sedan apr. 2004298 inlägg
#2

Använd även FSO för att kopiera.

Medlem sedan dec. 19996 721 inlägg
#3

Använd INTE FSO för att kopiera, och inte för att skapa textfiler heller. Det är .NET vi pratar om, eller hur? System.IO.StreamWriter resp. System.IO.File är det som gäller.

Medlem sedan dec. 19996 721 inlägg
#4

...och nu läste jag själva frågan....

Om du skapar filen med en FileStream så kan du ange huruvida filen ska vara låst under tiden som strömmen är öppen. Använd sedan denna FileStream ihop med StreamWriter för att skriva filen.

FileStream stream = new FileStream(@"c:\filen.txt",FileMode.CreateNew, FileAccess.Write, [b]FileShare.None[/b]);

StreamWriter writer = new StreamWriter(stream);
writer.Write("lite text");
writer.Flush();
writer.Close();
256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)