IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Problém se čtením souboru .txt

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Wave
Člen
Avatar
Wave:22.5.2018 18:27

Ahoj, poradíte mi někdo, jak spravit to, že mi metoda File.ReadAllLines() vrací pole stringů bez diakritiky
(židle=>?idle)?

 
Odpovědět
22.5.2018 18:27
Avatar
Neaktivní uživatel:22.5.2018 18:43

To bude kódování. Jestli to máš .txt, v uložit jako zkus dát něco jiného (unicode, UTF-8), výchozí je tam ANSI, C# má UTF-8, ale to asi víš.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
22.5.2018 18:43
Neaktivní uživatelský účet
Avatar
HONZ4
Člen
Avatar
Odpovídá na Wave
HONZ4:22.5.2018 19:22

Udělej to takto:

static string LoadFromFile(string filename)
        {   // using System.IO;
            using (StreamReader r = new StreamReader(filename, Encoding.Default, true))
            {
                return r.ReadToEnd();
            }
        }

Kódování si to zjistí samo. A nebudeš muset řešit BOM.

Použití:

string str = LoadFromFile("C:\\cesta_k_souboru\\soubor.txt");
Editováno 22.5.2018 19:23
 
Nahoru Odpovědět
22.5.2018 19:22
Avatar
Odpovídá na HONZ4
Neaktivní uživatel:22.5.2018 19:30

Tak jsem se zase něco dozvěděl… Díky, i když jsem se neptal zrovna já. :-)

Editováno 22.5.2018 19:31
Nahoru Odpovědět
22.5.2018 19:30
Neaktivní uživatelský účet
Avatar
HONZ4
Člen
Avatar
HONZ4:22.5.2018 19:47

Samozřejmě je nutné, aby byl na začátku souboru BOM identifikátor (tedy pokud jde o něco jiného než ANSI). A pokud je potřeba načíst soubor jako string[] tak načíst do stringu a pak jej rozdělit pomocí Split podle chuti.

Editováno 22.5.2018 19:49
 
Nahoru Odpovědět
22.5.2018 19:47
Avatar
Wave
Člen
Avatar
Wave:22.5.2018 22:29

Všem moc děkuji za reakce! Změnil jsem kódování a vše běží jak má :)

 
Nahoru Odpovědět
22.5.2018 22:29
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.