vizuális programozás
DESCRIPTION
Vizuális programozás. Fájl- és állományrendszer kezelés Névtér: System.IO. TextWriter. TextReader. StreamWriter Encoding,. StringWriter NewLine,. StreamReader Encoding,. StringReader NewLine,. BinaryReader. BinaryWriter. Stream Read, Write: byte[]. MemoryStream. FileStream. - PowerPoint PPT PresentationTRANSCRIPT
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
Vizuális programozásVizuális programozás
Fájl- és állományrendszer kezelésFájl- és állományrendszer kezelés
Névtér: System.IONévtér: System.IO
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
Stream
Read, Write: byte[]
FileStream BufferedStreamMemoryStream
IsolatedFileStream
BinaryReader
TextReader
StreamReader
Encoding, ...
StringReader
NewLine, ...
NetworkStream
TextWriter
StreamWriter
Encoding, ...
StringWriter
NewLine, ...
BinaryWriter
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
Forrás: http://etutorials.org/Programming/C+in+a+nutshell+tutorial/Part+IV+API+Quick+Reference/Chapter+31.+System.IO/
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
Fájlkezelés - Fájlkezelés - Fontosabb Fontosabb osztályokosztályok11
StreamStream: absztrakt ős, byte írás/olvasás: absztrakt ős, byte írás/olvasás– FileStreamFileStream: közvetlen állománykezelés, : közvetlen állománykezelés,
szinkron és aszinkron műveletekszinkron és aszinkron műveletek– MemoryStreamMemoryStream: nem pufferelt : nem pufferelt pufferként pufferként
használhatóhasználható– BufferedStreamBufferedStream: kiegészítő egy másik : kiegészítő egy másik
Stream-hez, pufferelést ad hozzáStream-hez, pufferelést ad hozzá– NetworkStreamNetworkStream: adatfolyam hálózati : adatfolyam hálózati
kapcsolaton keresztül. kapcsolaton keresztül. Névtér: System.Net.SocketsNévtér: System.Net.Sockets
– CryptoStreamCryptoStream: kriptográfiai transzformációk: kriptográfiai transzformációkNévtér: System.Security.CryptographyNévtér: System.Security.Cryptography
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
Fontosabb osztályokFontosabb osztályok22
TextReaderTextReader: absztrakt ős, Unicode : absztrakt ős, Unicode karakter olvasáskarakter olvasás– StreamReaderStreamReader: karaktert olvas adatfolyamból : karaktert olvas adatfolyamból
(Stream-ből), byte-ról konvertál(Stream-ből), byte-ról konvertál– StringReaderStringReader: karaktert olvas stringből: karaktert olvas stringből
TextWriterTextWriter: absztrakt ős, Unicode : absztrakt ős, Unicode karakter íráskarakter írás– StreamWriterStreamWriter: karaktert ír adatfolyamba, : karaktert ír adatfolyamba,
byte-ra konvertálbyte-ra konvertál– StringWriterStringWriter: karaktert ír string-be: karaktert ír string-be
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
Fontosabb osztályokFontosabb osztályok33
BinaryReaderBinaryReader: bináris adatot olvas : bináris adatot olvas adatfolyamból adatfolyamból
BinaryWriterBinaryWriter: bináris adatot ír : bináris adatot ír adatfolyambaadatfolyamba
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
Útvonal megadásaÚtvonal megadása
"C:\\...\\...""C:\\...\\..."
@"C:\...\..."@"C:\...\..."
"C:/…/…""C:/…/…"
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
Mit fogunk áttekinteni?Mit fogunk áttekinteni?
Alacsony szintű IOAlacsony szintű IO– IO bIO báájtonkjtonkéént nt –– FileStream FileStream
Magas szintű IOMagas szintű IO– IO adattIO adattíípusonkpusonkéént binnt bináárisan risan ––
BinaryReaderBinaryReader, , BinaryBinaryWriterWriter– IO szIO szöövegesen vegesen –– StreamReadeStreamReader, r,
StreamStreamWriterWriter
FileStream
BinaryReader/Writer
Állomány
FileStream
StreamReader/Writer
Állomány
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
FileStreamFileStream11
Adatok írása és olvasása bájtonként, Adatok írása és olvasása bájtonként, alacsony szintű IO.alacsony szintű IO.
1.1. Megnyitás/LétrehozásMegnyitás/LétrehozásFileStream fs=new FileStream("név",FileStream fs=new FileStream("név", FileMode.Open, FileAccess.Read);FileMode.Open, FileAccess.Read);FileModeFileMode.Create, Append (hozzáfűz), .Create, Append (hozzáfűz), CreateNew (létrehoz, kivéve, ha már van CreateNew (létrehoz, kivéve, ha már van ilyen), OpenOrCreate, Truncate (megnyit ilyen), OpenOrCreate, Truncate (megnyit és tartalmat töröl)és tartalmat töröl)FileAccessFileAccess.Write, ReadWrite.Write, ReadWrite
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
FileStreamFileStream22
1.1. ÍrásÍrásfs.Write(byte []miből, int honnan kezdve,fs.Write(byte []miből, int honnan kezdve,
int hány bájtot);int hány bájtot);fs.WriteByte(byte mit);fs.WriteByte(byte mit);
2.2. OlvasásOlvasásint a=fs.Read(byte []hova, int honnan int a=fs.Read(byte []hova, int honnan
kezdve tegye a tömbbe, int hány bájtot);kezdve tegye a tömbbe, int hány bájtot);a!=0 a!=0 a beolvasott bájtok száma a beolvasott bájtok számaa==0 a==0 sikertelen sikertelenint b=fs.ReadByte();int b=fs.ReadByte();b: -1 hiba esetén, pozitív egész int-re b: -1 hiba esetén, pozitív egész int-re konvertálvakonvertálva
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
FileStreamFileStream33
1.1. PozícionálásPozícionálásfs.Seek(int eltolás mértéke,fs.Seek(int eltolás mértéke, SeekOrigin.Begin);SeekOrigin.Begin);SeekOrigin.Current, EndSeekOrigin.Current, Endfs.Position=5;fs.Position=5;
2.2. MéretváltoztatásMéretváltoztatásfs.SetLength(int újméret);fs.SetLength(int újméret);
3.3. LezárásLezárásfs.Close();fs.Close();
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
StreamReader és StreamWriterStreamReader és StreamWriter11
Magas szintű szöveges Magas szintű szöveges állománykezelés. Egy FileStream-re állománykezelés. Egy FileStream-re épül.épül.
1.1. Megnyitás, létrehozásMegnyitás, létrehozásFileStream fs=new FileStream(…);FileStream fs=new FileStream(…);StreamReader sr=new StreamReader(fs);StreamReader sr=new StreamReader(fs);StreamWriter sw=new StreamWriter(fs);StreamWriter sw=new StreamWriter(fs);StreamReader sru=new StreamReader("név");StreamReader sru=new StreamReader("név");
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
StreamReader és StreamWriterStreamReader és StreamWriter22
1.1. OlvasásOlvasásstring t=sr.ReadLine(); //beolvas egy sort string t=sr.ReadLine(); //beolvas egy sort vagy null-t ad, ha elértük a fájl végétvagy null-t ad, ha elértük a fájl végétint a=sr.Read(); //egy karaktert olvasint a=sr.Read(); //egy karaktert olvasstring végéig=sr.ReadToEnd();string végéig=sr.ReadToEnd();
2.2. ÍrásÍrássw.Write(string mit);sw.Write(string mit);sw.WriteLine(string mit); sw.WriteLine(string mit); "\r\n", "\r\n",
3.3. LezárásLezárássw.Close();sw.Close();
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
BinaryReader és BinaryWriterBinaryReader és BinaryWriter11
Magas szintű bináris Magas szintű bináris állománykezelés. Egy FileStream-re állománykezelés. Egy FileStream-re épül.épül.
1.1. Megnyitás, létrehozásMegnyitás, létrehozásFileStream fs=new FileStream(…);FileStream fs=new FileStream(…);BinaryReader br=new BinaryReader(fs);BinaryReader br=new BinaryReader(fs);BinaryWriter bw=new BinaryWriter(fs);BinaryWriter bw=new BinaryWriter(fs);BinaryReader bru=new BinaryReader("név");BinaryReader bru=new BinaryReader("név");
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
BinaryReader és BinaryWriterBinaryReader és BinaryWriter22
1.1. OlvasásOlvasásint a=br.Read();int a=br.Read(); //-1 vagy a következő //-1 vagy a következő karakterkarakterReadByte,ReadDouble,ReadInt16,…ReadByte,ReadDouble,ReadInt16,… br.Read(byte []hova, int honnan br.Read(byte []hova, int honnan
kezdve tegye a tömbbe, int hány bájtot);kezdve tegye a tömbbe, int hány bájtot);2.2. ÍrásÍrás
bw.Write(változó);bw.Write(változó); //alaptípusok //alaptípusokbw.Write(byte []miből, int honnan kezdve, bw.Write(byte []miből, int honnan kezdve,
int hány bájtot); int hány bájtot); 3.3. LezárásLezárás
bw.Close();bw.Close();
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
Állományrendszer Állományrendszer kezelésekezelése
Névtér: System.IONévtér: System.IO
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
Állományrendszer kezelése Állományrendszer kezelése - - Fontosabb osztályokFontosabb osztályok
DirectoryInfoDirectoryInfo: könyvtárak létrehozása, : könyvtárak létrehozása, törlése, manipulálása. Csak példány szintű törlése, manipulálása. Csak példány szintű metódusok.metódusok.FileInfoFileInfo: állományok létrehozása, törlése, : állományok létrehozása, törlése, manipulálása. Csak példány szintű manipulálása. Csak példány szintű metódusok.metódusok.
DirectoryDirectory: könyvtárak létrehozása, törlése, : könyvtárak létrehozása, törlése, manipulálása. Csak statikus metódusok.manipulálása. Csak statikus metódusok.FileFile: állományok létrehozása, törlése, : állományok létrehozása, törlése, manipulálása. Csak statikus metódusok.manipulálása. Csak statikus metódusok.
PathPath: műveletek útvonal információt : műveletek útvonal információt tartalmazó string-entartalmazó string-en
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
DirectoryInfoDirectoryInfo
DirectoryInfo di=new DirectoryInfo(könyvtárnév);DirectoryInfo di=new DirectoryInfo(könyvtárnév);pl. (".") vagy (@"C:\windows")pl. (".") vagy (@"C:\windows")string név=di.FullName;string név=di.FullName;FileInfo []fi=di.GetFiles();FileInfo []fi=di.GetFiles();DirectoryInfo []dis=di.GetDirectories();DirectoryInfo []dis=di.GetDirectories();DirectoryInfo szülő=di.Parent;DirectoryInfo szülő=di.Parent;di=new DirectoryInfo("újdi=new DirectoryInfo("új könyvtár");könyvtár");if(!di.Exists)if(!di.Exists)
di.Create();di.Create();di.Attributes|=FileAttributes.Hidden… ;di.Attributes|=FileAttributes.Hidden… ;……di.Delete(true);di.Delete(true);
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
DirectoryDirectory
string kt=Directory.GetCurrentDirectory()string kt=Directory.GetCurrentDirectory()aktuális könyvtáraktuális könyvtár
string string []megh=Directory.GetLogicalDrives()[]megh=Directory.GetLogicalDrives()A:\,C:\,…A:\,C:\,…
Directory.Create(…)Directory.Create(…)
Directory.Delete(…)Directory.Delete(…)
Directory.MoveTo(…)Directory.MoveTo(…)
Directory.CopyTo(…)Directory.CopyTo(…)
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
FileInfoFileInfo
FileAttributes AttributesFileAttributes Attributesbool Existsbool Existsstring Extensionstring Extensionstring FullNamestring FullNameDateTime LastWriteTimeDateTime LastWriteTimeint Lengthint LengthCopyTo()CopyTo()MoveTo()MoveTo()Create()Create()Delete()Delete()
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
Könyvtárfa mintaprogramKönyvtárfa mintaprogram
J.Zs.Cs.: Vizuális programozás (c) 2010J.Zs.Cs.: Vizuális programozás (c) 2010
Biztonsági másolat Biztonsági másolat készítőkészítő
PéldaprogramPéldaprogram