Soubory

27. hodina PVA


Matěj Cajthaml — SSPŠ

©

Opakování

Musí mít každý přepínač default možnost?
K čemu slouží třída Random?
Jak vytvoříme strukturu? Jak určíme vlastnosti?
Můžeme nějak pole za běhu programu zvětšovat? Či zmenšovat? Jak bychom to udělali?
Lze pomocí cyklu for vytvořit nekonečný cyklus?

Soubory

Soubory

  • programy často potřebují číst / psát do souborů
  • konfigurace, stav — saves, úkoly, ...
  • dva způsoby práce

Teorie souborů

Soubor má příponu, ta však neurčuje co je obsahem.

Změnou přípony se data netransformují.

Data se na disku ukládají binárně a při převodu do textových hodnot nemusí dávat smysl.

\n vs. \r\n

Každý soubor může mít různé přístupové práva.

Vlastník vs. skupina vs. ostatní

Třída File

Třída File

  • předpřipravené metody ke čtení a zápisu souborů
  • musíme importovat knihovnu System.IO

File.ReadAllText(cesta)

  • přečte všechen text jako jeden string
  • pokud soubor neexistuje — vyhodí výjimku FileNotFoundException

File.ReadAllLines(cesta)

  • přečte všechen text po řádcích
  • vrací pole stringů
  • pokud soubor neexistuje — vyhodí výjimku FileNotFoundException

File.Exists(cesta)

  • zkontroluje zda soubor existuje
  • vrací boolean hodnotu

File.Delete(cesta)

  • smaže soubor
  • neexistuje-li, nic se nestane

File.WriteAllText(cesta, obsah)

  • zapíše obsah do souboru
  • všechen obsah se přepíše

File.WriteAllLines(cesta, radky)

  • zapíše jednotlivé řádky do souboru
  • všechen obsah se přepíše

File.AppendAllText(cesta, obsah)

  • přidá obsah na konec souboru

File.AppendAllLines(cesta, řádky)

  • přidá jednotlivé řádky na konec souboru

Další metody

  • File.Copy(src, dst)
  • File.Move(src, dst)
  • File.Replace(src, dst, dstBackup)
  • File.GetLastAccessTime(file)
  • File.GetLastWriteTime(file)

Kde soubor?

Práce

Založte nový projekt a vytvořte soubor pomocí:

File.WriteAllText("27_files_1.txt", ":)")

Nalezněte místo jeho vytvoření. Kde se tento soubor nachází?

V jiné složce.

Práce

Zjistěte jak a vytvořte soubor v nadřazené složce té aktuální.

Na ploše.

Práce

Vytvořte soubor na Vaší ploše.

Šibenice

Práce

Dle videa vytvořte hru šibenice. Slova budou náhodně zvolena ze seznamu ze souboru words.txt.

Postupný zápis

Práce

Vytvořte program, který bude do souboru postupně připisovat věci tak, jak je bude uživatel zadávat.

Validace

Práce

Vytvořte program, který přečte obsah souborů a odstraní řádky, které nejsou správně napsaná desetinná čísla.

Shrnutí

K čemu slouží File.Delete?
Jak se liší File.ReadAllText a File.ReadAllLines?
Můžeme pole převést na list? Jak?
K čemu slouží přípona souborů?

Děkuji za pozornost!

  • matej.cajthaml@ssps.cz
  • https://ssps.cajthaml.eu/