Sostituire testo in un file txt

mercoledì 29 ottobre 2014 - 16.50
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows 7

pieroalampi Profilo | Expert

salve ho un problema nel sostituire una stringa in un file di testo, praticamente ho un file bat che ogni volta che trova una variazione in questo file di testo compie un operazione da me voluta, adesso cosa succede se per esempio io nel file di testo trovo scritto:

a
a
b

e volessi sostituire il contenuto dello stesso con un altro testo ad esempio

aaq

con la procedura
My.Computer.FileSystem.WriteAllText("C:\Test.txt", "aaq", False)
dove con false sostituisco il contenuto vecchio del file con il nuovo, il processo che controllava il file si scollega e non dovrebbe, evidentemente questa procedura ricrea il file per intero e la procedura (file bat) che lo controllava non vedendolo per pochi istanti cade.

come posso fare per scrivere nel file senza ricrearlo??????

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA

AntCiar Profilo | Expert

Ciao.

Prova con lo StramWriter

dim fl as System.IO.StreamWriter = new System.IO.StreamWriter(@"C:\Test.txt", false, Encoding.UTF8)
fl.WriteLine("aaaaaa")
fl.Dispose()
fl.Close()
fl = nothing


da prove fatte non dovrebbe cancellare e ricreare il file. Ho fatto una prova e ho visto che la data di creazione non cambia.

Prova e facci sapere.

ciao ciao
Cristian Barca

pieroalampi Profilo | Expert

provo e ti dico
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA

pieroalampi Profilo | Expert

niente da fare!!! l'unico modo per non far si che il file venga ricreato è
Dim fl As System.IO.StreamWriter = New System.IO.StreamWriter(FileScontrino, True)
praticamente un append, come posso fare per far cancellare solo alcune righe?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA

pieroalampi Profilo | Expert

perfetto ci sono riuscito utilizzando questa procedura, se dovesse servire eccola qui

Dim fileName As String = "c:\file.txt" Dim textToAdd As String = "testo da aggiungere" Using fs As FileStream = New FileStream(fileName, FileMode.Truncate) Using writer As StreamWriter = New StreamWriter(fs, Encoding.Default, 512) writer.Write(textToAdd) End Using End Using

praticamente con il truncate faccio tutto
qui il riferimento
http://msdn.microsoft.com/it-it/library/72d9f8d5(v=vs.110).aspx
In ogni caso grazie ugualmente
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5