User Tools

Site Tools


Problem constructing authldap
laboratoare:tutorial-io
Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
laboratoare:tutorial-io [2017/09/27 00:04]
Mihai Burduselu [Introducere]
laboratoare:tutorial-io [2017/10/01 22:07] (current)
Adriana Draghici [Tutorial I/O]
Line 1: Line 1:
 = Tutorial I/O = = Tutorial I/O =
  
-* Responsabil: ​todo +* Responsabil: ​[[michelcatalin@gmail.com|Mihai Burdușelu]] 
-* Data publicării: ​todo +* Data publicării: ​01.10.2017 
-* Data ultimei modificări: ​todo+* Data ultimei modificări: ​28.09.2017
  
 ==Obiective== ==Obiective==
Line 9: Line 9:
  
 ==Introducere== ==Introducere==
-Acest API se folosește de FileReader pentru a crea un flux de intrare de caractere. +Acest API se folosește de [[http://​docs.oracle.com/​javase/​8/​docs/​api/?​java/​io/​FileReader.html|java.io.FileReader]] pentru a crea un flux de intrare de caractere. 
-BufferedReader este responsabil cu preluarea datelor de la un flux primitiv (FileReader) și procesarea acestora pentru a le oferi într-o altă formă. ​Astfel, design patternul decorator ​este aplicat aici, intrucat BufferedReader este un wrapper peste FileReader.+ 
 +[[https://​docs.oracle.com/​javase/​8/​docs/​api/​java/​io/​BufferedReader.html|BufferedReader]] este responsabil cu preluarea datelor de la un flux primitiv (''​FileReader''​) și procesarea acestora pentru a le oferi într-o altă formă. ​Patternul //​Decorator// ​este aplicat aici, intrucat ​''​BufferedReader'' ​este un wrapper peste ''​FileReader''​. 
 +De asemenea, [[https://​docs.oracle.com/​javase/​8/​docs/​api/​java/​io/​FileWriter.html|java.io.FileWriter]] este responsabil pentru crearea unui flux de ieșire de caractere, în vreme ce [[https://​docs.oracle.com/​javase/​8/​docs/​api/​java/​io/​BufferedWriter.html|BufferedWriter]] este un wrapper peste acesta. 
 + 
 +''​BufferedReader''​ are calitatea de a "​buffera"​ fluxul de date. Astfel, această metodă de citire este mai eficientă decât folosirea directă a unui ''​FileReader''​.
  
 ==Importarea API-ului== ==Importarea API-ului==
Line 19: Line 23:
 <​note>​ <​note>​
 Deschiderea fișierului se face în momentul instanțierii obiectului. Deschiderea fișierului se face în momentul instanțierii obiectului.
-Dacă fișierul nu se afla pe disc, API-ul va arunca FileNotFoundException.+Dacă fișierul nu se află pe disc, API-ul va arunca FileNotFoundException.
 </​note>​ </​note>​
 ===Instanțierea unui obiect al clasei FileReader=== ===Instanțierea unui obiect al clasei FileReader===
Line 26: Line 30:
 FileReader fileReader = new FileReader(filename);​ FileReader fileReader = new FileReader(filename);​
 </​code>​ </​code>​
-===Citirea tipurilor de date primitive din java=== +===Citirea tipurilor de date primitive din Java=== 
-FileReader conține metode de citire a tipurilor de date primitive din java: nextChar, nextBool, ​ nextInt, nextLong, nextFloat ​si nextDouble.+FileReader conține metode de citire a tipurilor de date primitive din Java''​nextChar''​''​nextBool''​,  ​''​nextInt''​''​nextLong''​''​nextFloat''​ și ''​nextDouble''​.
 Exemplu de folosire a metodelor **next*** Exemplu de folosire a metodelor **next***
 <code text input.txt>​ <code text input.txt>​
Line 46: Line 50:
 În urma rulării codului de mai sus, se va afișa "//4 3.14 true//"​. În urma rulării codului de mai sus, se va afișa "//4 3.14 true//"​.
  
-===Citirea stringurilor delimitate de spatii=== +===Citirea stringurilor delimitate de spații=== 
-De asemenea, API-ul oferă și metodă de nextWord care are drept scop citirea unui string pană la întâlnirea primului spațiu.+De asemenea, API-ul oferă și metoda ''​nextWord'' ​care are drept scop citirea unui string pană la întâlnirea primului spațiu.
 Exemplu de folosire a metodei **nextWord** Exemplu de folosire a metodei **nextWord**
 <code text input.txt>​ <code text input.txt>​
Line 68: Line 72:
  
 ===Închiderea fișierului=== ===Închiderea fișierului===
-După terminarea operației de citire din fișier, fișierul de citire trebuie închis folosind metoda ​**close()**.+După terminarea operației de citire din fișier, fișierul de citire trebuie închis folosind metoda ​''​close()''​.
  
 ==Scrierea în fișier== ==Scrierea în fișier==
Line 85: Line 89:
 ===Scrierea principalelor tipuri de date din java=== ===Scrierea principalelor tipuri de date din java===
 FileWriter conține metode de **write***, complementare cu metodele **next*** din FileReader. FileWriter conține metode de **write***, complementare cu metodele **next*** din FileReader.
-Metoda ​**writeNewLine()** trece pe o linie noua în fișier.+Metoda ​''​writeNewLine()'' ​trece pe o linie nouă în fișier.
  
 Exemplu de folosire a metodelor **write*** Exemplu de folosire a metodelor **write***
Line 109: Line 113:
  
 ===Închiderea fișierului=== ===Închiderea fișierului===
-După terminarea operației de scriere în fișier, fișierul de scriere trebuie închis folosind metoda ​**close()**.+După terminarea operației de scriere în fișier, fișierul de scriere trebuie închis folosind metoda ​''​close()''​.
  
 ==Abstractizare pentru manipularea ambelor fluxuri de date== ==Abstractizare pentru manipularea ambelor fluxuri de date==
-În cazul în care programul are nevoie atât de citire dintr-un fișier denumit input, cât și de scriere într-altul denumit output, API-ul oferă o abstractizare numită FileSystem. +În cazul în care programul are nevoie atât de citire dintr-un fișier denumit input, cât și de scriere într-altul denumit output, API-ul oferă o abstractizare numită ​''​FileSystem''​
-Cele 2 fișiere (input și output) sunt pasate ​drept parametri către constructor.+Cele 2 fișiere (input și output) sunt date drept parametri către constructor.
  
 ===Instanțierea unui obiect al clasei FileSystem=== ===Instanțierea unui obiect al clasei FileSystem===
Line 134: Line 138:
  
 ==Alte modalități de a manipula fluxurile intrare-ieșire== ==Alte modalități de a manipula fluxurile intrare-ieșire==
 +  * [[https://​docs.oracle.com/​javase/​7/​docs/​api/​java/​io/​RandomAccessFile.html|RandomAccessFile]]
  
  
 ==Resurse== ==Resurse==
 +  * [[https://​docs.oracle.com/​javase/​tutorial/​essential/​io/​|Basic I/O]]
   * {{laboratoare:​tutorial-io:​fileio.zip|FileIO}}   * {{laboratoare:​tutorial-io:​fileio.zip|FileIO}}
   * {{laboratoare:​tutorial-io:​fileio_jar.zip|FileIO JAR}}   * {{laboratoare:​tutorial-io:​fileio_jar.zip|FileIO JAR}}
laboratoare/tutorial-io.1506459845.txt.gz · Last modified: 2017/09/27 00:04 by Mihai Burduselu