StringCollection + Skräptecken
Har ett problem när jag läser och skriver till en textfil.
Jag läser in 2 rader som jag lägger på olika platser i en StringCollection på platserna 0,1.
Raderna som läses in är:
Sökvägen till var statistikfilen kommer att hamna:
DATA_PATH = c:\document and setting\Mina dokument
Sen läser jag en sträng från en textbox och dess innehåll ska skrivas i variabeln DATA_PATH. Jag byter helt enkelt ut det som står i StringCollection.
Allt detta fungerar fint. Dock är det så att när jag sedan öppnar text-filen så innehåller den mängder med skräptecken. Se exempel nedan:
"Sökvägen till var statistikfilen kommer att hamna"
För varje körning läggs nya skräptecken till.
För att läsa text-filen använder jag:
o_inputFile = CreateObject("Scripting.FileSystemObject")
o_inputFile = o_inputFile.opentextfile(cmdLine)
s_tempString = o_inputFile.readLine()
För att skriva till text-filen använder jag FileStream/StreamWriter/WriteLine
Jag gissar att det är det svenska språkets härliga Å,Ä,Ö som ställer till det hela, men kan man någonstans ställa så att den klarar av att läsa in dessa tecken.
Jobbar i Visual Studio 2005.
Svara
Sv: StringCollection + Skräptecken
Hej
Varför använder du inte samma metod för att läsa filen som du använder för att skriva?
använd FileStream, StreamReader för läsningen så kommer det nog blir rätt.
Ett tips är att du skippar FileStream helt och använder File klassen istället, när det är så enkelt innehåll som här. Den har en enkel funktion för att läsa och skriva rader.
1 2 | Dim filText As String () = System.IO.File.ReadAllLines( "minfil.txt" ) System.IO.File.WriteAllLines( "minfil.txt" , filText) |
Svara
Sv: StringCollection + Skräptecken
Hittade lösningen själv.
Genom att i StreamWriter ange Encoding.Default tar den de språkinställningar som jag har i min dator.
Exempel:
Dim fq As New FileStream(s_IniFilen, FileMode.Create, FileAccess.Write)
Dim sw As New StreamWriter(fq, System.Text.Encoding.Default)
Svara
Sv:StringCollection + Skräptecken
Ledsen Cecilia. Hann inte se ditt svar innan jag skrev, men så kan man också göra. Får prova det nästa gång jag fastnar.
Svara
Sv: StringCollection + Skräptecken
Tips: Skippa FileSystemObject. Om inte annat så för att det är knöligt och ger dålig prestanda
Svara