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/28 19:11]
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 java.io.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ă. Patternul Decorator este aplicat aici, intrucat BufferedReader este un wrapper peste java.io.FileReader. +
-De asemenea, ​java.io.FileWriter este responsabil ​pentru ​crearea unui flux de ieșire ​de caractere, în vreme ce 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 ​doar lui 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 22: 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 29: 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 49: 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 71: 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 88: 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 112: 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===
laboratoare/tutorial-io.1506615096.txt.gz · Last modified: 2017/09/28 19:11 by Mihai Burduselu