Läsa texfil, ansi format
Hej,
Använder denna kod för att läsa text:
1 2 3 4 5 | 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
Svara
Sv: Läsa texfil, ansi format
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
1 2 3 4 5 | Dim targetEncoding = Encoding. Default ' alt. targetEncoding = Encoding.GetEncoding(someSpecificCodepage) Dim fileContents as String Using reader = New StreamReader(sTempfilepath, targetEncoding) fileContents = reader.ReadToEnd End Using |
Svara
Sv:Läsa texfil, ansi format
Ok, tack.
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.
Svara
Sv: Läsa texfil, ansi format
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 :)
Hur som helst, du behöver följande överst i din klass/modul:
1 2 | Imports System.Text Imports System.IO |
Ett alternativ till att använda Using (om det kanske inte stöds i 1.1?) är:
1 2 3 4 5 6 7 8 9 10 11 12 | 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.
Svara