Metodo molto sporco per cambiare il caporiga in un file scritto con System.IO.StreamWriter o la classe ereditata TextWriter. Ha il piccolo difetto che deve caricare l'intero file in memoria, pertanto valutate altre soluzioni, se quello può rappresentare un problema per il vostro caso.
Nel codice di qui sotto si passa dal caporiga Windows (Cr + Lf) a quello Unix (Lf):
Dim file As New System.IO.StreamReader(path)
Dim data As String
data = file.ReadToEnd().Replace(vbCrLf,vbLf)
file.Close()
Dim writer As New System.IO.StreamWriter(path, False)
writer.Write(data)
writer.Flush()
writer.Close()
Purtroppo la soluzione più banale sarebbe quella di cambiare la variabile d'ambiente:
System.Environment.NewLine = vbLf
ma tale variabile è readonly, quindi per implementare una soluzione elegante è necessario ricorrere a scrivere una classe che sovrascrive qualcosa di StreamWriter.
|