NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
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 – Lekce 3 - Práce s textovými soubory v C# .NET

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
relycanx
Člen
Avatar
relycanx:29.3.2013 9:52

Chtěl bych se zeptat, jestli mohu pro ukládání a načítání použít i tento způsob. Jestli není třeba v něčem horší.

//ukládání (za pomocí přidané knihovny System.IO)

TextWriter tw = new StreamWriter("tex­tik.txt",true);

tw.WriteLine("ahoj, už jsem uložený tady v souboru");

tw.Close();

//načítání

TextReader tr = new StreamReader("tex­tik.txt");

Console.Write­Line(tr.ReadLi­ne());

tr.Close();

 
Odpovědět
29.3.2013 9:52
Avatar
Odpovídá na relycanx
Luboš Běhounek Satik:29.3.2013 9:58

Ano, můžeš použít i toto.

Odpovědět
29.3.2013 9:58
https://www.facebook.com/peasantsandcastles/
Avatar
relycanx
Člen
Avatar
relycanx:29.3.2013 10:31

dík :) přijde mi to o něco jednodušší, tak jsem v tom hledal háček :D

 
Odpovědět
29.3.2013 10:31
Avatar
Luboš Běhounek Satik:29.3.2013 10:38

Jenom by jsi textwriter měl hodit do using.

Odpovědět
29.3.2013 10:38
https://www.facebook.com/peasantsandcastles/
Avatar
relycanx
Člen
Avatar
relycanx:31.3.2013 12:59

Poraďte prosím

static void Main(string[] args)
{
StreamWriter sw = new StreamWriter("da­tabaze.txt");
StreamReader sr = new StreamReader("da­tabaze.txt");

//uložení
sw.WriteLine("bla");
sw.Flush();

//načtení
string i;
while ((i = sr.ReadLine()) != null)
{
Console.Write­Line(i);
}

}
Po spuštění chyba na řádku "StreamReader sr = new StreamReader("da­tabaze.txt");" - "IOException was unhandled - Proces nemůže přistupovat k souboru C:\..., protože je soubor využíván jiným procesem" a přitom ten soubor nemám otevřený a zkoušel jsem i načíst a uložit z jiného souboru a stejně to nejde :\ Jako uloží se všechno bez problému, ale načíst je problém.

 
Odpovědět
31.3.2013 12:59
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na relycanx
Petr Nymsa:31.3.2013 13:20

Neuzavřel jsi ten soubor. Tedy využívá ho stále StreamWriter, velmi doporučuju dávat čtení ze souborů do bloku using tedy

using(StreamWriter sw=new StreamWriter("database.txt"))
{
sw.WriteLine("AAAAA");
}

using se za tebe postará o uzavření souboru Snad to bude fungovat :)

Odpovědět
31.3.2013 13:20
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
relycanx
Člen
Avatar
Odpovídá na Petr Nymsa
relycanx:31.3.2013 13:24

jo takhleee, tak k tomu tam je to "using" :D už to chápu, dík moc :)

 
Odpovědět
31.3.2013 13:24
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na relycanx
Petr Nymsa:31.3.2013 13:27

Pozor ! Nepleť si to s usingem na načtení knihoven / namespaces, tedy ty první řádky programu

Odpovědět
31.3.2013 13:27
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovídá na relycanx
Michal Žůrek - misaz:31.3.2013 13:59

using (dost neohrabaně) má 2 významy.
1.) nahoře ti pomůže, abys nemusel pořád zapisovat System.IO.Pat­h.GetFileName­WithoutExtensi­on(""), ale třeba pouze Path.GetFileNa­meWithoutExten­sion("")
2.) using v kódu, je dostupný pro vše co implementuje rozhraní IDisposable, tedy aby se předešlo memory leakům a po provedení potřebné operace všechna data byla vypuštěna z paměti.

 
Odpovědět
31.3.2013 13:59
Avatar
amoneth
Neregistrovaný
Avatar
amoneth:10.5.2013 13:30

mám problém s tím že když přidám záznam tak se nepřída hned pod to
např mám dvě 5 a přidam 6
5
5
56
5
takhle to vypadá, ale chci to mi normalně pdo sebou.

static void pripis()
{
try
{
Encoding kodovani = Encoding.Default;
string volba = "ano";
while (volba=="ano")
{
Console.Write­Line("kolik toho bude");
int a = int.Parse(Con­sole.ReadLine());

using (StreamWriter sw = new StreamWriter(@"c:\sem­\dat.txt", true))
{

for (int i = 0; i <= a - 1; i++)
{
Console.Write­Line("Dej co chceš pridat");
string pripisi = Console.ReadLine();

sw.WriteLine(pri­pisi);
}
sw.Flush();
Console.Write­Line("Přejete si zadat další zaznam?? [ano/ne]"); //dalsi while
Console.WriteLine("------------------");
volba = Console.ReadLine();
}
}

}
catch (Exception e)
{
Console.Write­Line(e.Message);
}
Console.Write­Line("prispalo se");
}

 
Odpovědět
10.5.2013 13:30
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 10 zpráv z 64.