Avatar billede lajer Nybegynder
02. juni 2003 - 08:22 Der er 12 kommentarer og
1 løsning

Læs fra fil?

Godmorgen!

Jeg skal læse fra en fil og spytte indholdet ud. Relativt simpelt.

Er kommet frem til følgende:

StreamReader sr = new StreamReader( FilePath );
string line;
while( (line = sr.ReadLine()) != null )
{
  ScriptBox.Value += line;
}

Virker også nogenlunde rigtigt. Mit problem er bare:

æøå kommer ikke rigtigt med ud, den vælger bare at se helt bort fra disse.
Ophold er den heller ikke voldsomt begrejstret for, så her sker det samme.

Hvorfor nu det?

mvh
Torben Lajer
Avatar billede lajer Nybegynder
02. juni 2003 - 08:24 #1
Ophold = ny linje

My bad :)
Avatar billede twm Nybegynder
02. juni 2003 - 08:30 #2
har du prøvet med
sr.CurrentEncoding = System.Text.Encoding.UTF8;
?
Avatar billede jpvj Nybegynder
02. juni 2003 - 08:31 #3
Ny linie burde kunne fixes med:

  ScriptBox.Value += line+"\n";
Avatar billede twm Nybegynder
02. juni 2003 - 08:31 #4
Glem det, det kan man ikke den er read only! ;)
Avatar billede twm Nybegynder
02. juni 2003 - 08:32 #5
Kommentaren var henvendt til mit eget svar :)
Avatar billede lajer Nybegynder
02. juni 2003 - 08:33 #6
tvm: det fandt jeg ud af :-)

jpvj: Vil ikke hjælpe, så vil jeg jo få et ophold efter hver enkelt bogstav og ikke når der rent faktisk findes et ophold
Avatar billede lajer Nybegynder
02. juni 2003 - 08:35 #7
ffs... ophold igen = ny linje :)
Avatar billede lajer Nybegynder
02. juni 2003 - 10:26 #8
Har arbejdet videre med det og fået den til at udskrive nye linjer som de skal være.

Dog stadig et problem med æøå.

Scriptet ser nu ud som følger:

FileStream file = new FileStream( FilePath, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(file);

ScriptBox.Value = sr.ReadToEnd();

sr.Close();
file.Close();
Avatar billede simon.ulsnes Nybegynder
02. juni 2003 - 12:11 #9
StreamReader sr = new StreamReader(file, System.Text.Encoding.UTF8);

Erstat UTF8 med din fils respektive encoding. System.Text.Encoding.Default virker for det meste... Det hele kommer an på operativsystem og alt det der...

- Simon
Avatar billede lajer Nybegynder
02. juni 2003 - 19:36 #10
Med risiko for at lyde rimlig n00b agtig.

Der er ingen overload på StreamReader der kan tage den Syntax du skrev der.
Avatar billede jpvj Nybegynder
02. juni 2003 - 20:28 #11
twm> Nej - det har du misforstået. Readline læser en linie, dvs. data indtil Cr eller CrLf.

Fra http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemIOStreamReaderClassReadLineTopic.asp

A line is defined as a sequence of characters followed by a line feed ("\n") or a carriage return immediately followed by a line feed ("\r\n"). The string that is returned does not contain the terminating carriage return or line feed. The returned value is a null reference (Nothing in Visual Basic) if the end of the input stream is reached.

Dvs. når du har læst en linie står den i variablen line UDEN "\n". Det er ikke en karater af gangen der læses. Mit svar er derfor korrekt mht. linieskiftet.
Avatar billede lajer Nybegynder
03. juni 2003 - 09:05 #12
jpvj:

Makes sence :)

Men det løser stadig ikke mit ÆØÅ problem?
Avatar billede simon.ulsnes Nybegynder
03. juni 2003 - 15:12 #13
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB