150 likes | 269 Views
Práce se soubory. Ukládání dat. Textové soubory s jednoduchou strukturou (např. . txt a . csv ) textové soubory s vnitřní hierarchií (např. . xml ) Soubory binárního typu (jednoduše otisk paměti do souboru) Databáze. Přístup k souboru. Jmenný prostor: using System.IO;
E N D
Ukládání dat • Textové soubory s jednoduchou strukturou (např. .txt a .csv) • textové soubory s vnitřní hierarchií (např. .xml) • Soubory binárního typu (jednoduše otisk paměti do souboru) • Databáze
Přístup k souboru • Jmenný prostor: using System.IO; • Stream – datový tok
OpenFileDialog - výjimky if (openFileDialog1.ShowDialog() == DialogResult.OK) { try { if (openFileDialog1.OpenFile() != null) { // čtení ze souboru } } catch (Exception ex) { MessageBox.Show(„Chyba, nepodařilo se číst ze souboru. Chyba: " + ex.Message); } }
Textový soubor - Čtení • Objekt StreamReader • http://msdn.microsoft.com/cs-cz/library/system.io.streamreader%28v=vs.110%29.aspx
Textový soubor - Čtení (celý soubor) if(openFileDialog1.ShowDialog() == DialogResult.OK) { StreamReadersr = newStreamReader(openFileDialog1.FileName); MessageBox.Show(sr.ReadToEnd()); sr.Close(); }
Textový soubor – Čtení (po řádcích) StreamReadersr = newStreamReader("C:\\Sample.txt"); while (line != null) { line = sr.ReadLine(); } sr.Close();
Zpracování načteného řádku StreamReadersr = newStreamReader(soubor) { string s while ((s = sr.ReadLine()) != null) { string[] rozdeleno = s.Split(';'); } }
Textový soubor – Čtení (po znacích) StreamReadersr = newStreamReader(path); while (sr.Peek() >= 0) { znak =(char)sr.Read(); }
Textový soubor - Zápis • Objekt StreamWriter • http://msdn.microsoft.com/cs-cz/library/system.io.streamwriter%28v=vs.110%29.aspx
Textový soubor - Zápis StreamWritersw = new StreamWriter("C:\\Test1.txt", true, Encoding.ASCII); for(x=0; x < 10; x++) { sw.Write(x); } sw.Close();
Textový soubor – Zápis (po řádcích) StreamWritersw = new StreamWriter("C:\\Test1.txt"); sw.WriteLine("Hello World!!"); sw.WriteLine("From the StreamWriter class"); sw.Close();
SaveFileDialog if(saveFileDialog1.ShowDialog() == DialogResult.OK) { if((myStream = saveFileDialog1.OpenFile()) != null) { //zpracování myStream.Close(); } }
Strukturovaný zápis StreamWriter sw = newStreamWriter("C:\\Test1.txt ") foreach (Uzivatel u in uzivatele) { string[] hodnoty = { u.Jmeno, u.Vek.ToString(), u.Registrovan.ToShortDateString() }; stringradek = String.Join(";", hodnoty); sw.WriteLine(radek); }
Binární soubory • Čtení • BinaryReaderbr = new BinaryReader(new FileStream("C:\\Test1.bin", FileMode.Open)) • int a = br.ReadInt32(); • Zápis • BinaryWriterbw = new BinaryWriter(new FileStream("C:\\Test1.bin", FileMode.Create)) • bw.Write(a);