Hej, I dokumentationen för File.OpenText framgår det att den är avsedd för UTF-8 och ingenting annat. Dock finns det en överlagring till konstruktorn för StreamReader där du kan skicka in den encoding du vill använda Ok, tack. Oj, det var en gammal miljö! Har du möjlighet att styra om det till en lite modernare variant så skulle jag varmt rekommendera det :)Läsa texfil, ansi format
Använder denna kod för att läsa text:
Dim oFile As System.IO.File
Dim oRead As System.IO.StreamReader
oRead = oFile.OpenText(sTempfilepath) 'c:\test.txt
sEntireFile = oRead.ReadToEnd
Jag vill läsa in det som ANSI format?
Eller finns det bättre sätt att läsa in all text från en textfil?
Tacksam för tipps!
Mvh Per
Sv: Läsa texfil, ansi format
Dim targetEncoding = Encoding.Default ' alt. targetEncoding = Encoding.GetEncoding(someSpecificCodepage)
Dim fileContents as String
Using reader = New StreamReader(sTempfilepath, targetEncoding)
fileContents = reader.ReadToEnd
End Using
Sv:Läsa texfil, ansi format
Testat men min studio känner inte igen kod: "Using, Encoding, reader"
Har jag för gammal studio?
Studio 7.1 & Framewok1.1
Arbetar inte så ofta i .Net tyvärr, försöker lära mig.Sv: Läsa texfil, ansi format
Hur som helst, du behöver följande överst i din klass/modul:
Imports System.Text
Imports System.IO
Ett alternativ till att använda Using (om det kanske inte stöds i 1.1?) är:
Using someResource = New someType()
someResource.DoSomeThing()
End Using
' Alternativt sätt
Dim someResource As someType
Try
someResource = New someType()
someResource.DoSomeThing()
Finally
someResource.Dispose()
End Try
Poängen är att du slipper köra Dispose() på objektet, eftersom Using per automatik garanterar att det görs åt dig.