You are on page 1of 2

CIFP Pau Casesnoves

Joan Miró, 22 07300 Inca


Tel. 971 881710 11
secretaria@paucasesnovescifp.cat

Exercicis 1.2: Streams.


1. Crea un projecte anomenat Exercicis1.2

2. Crea un arxiu benvinguda.dat que contingui la frase "Benvingut a la Unitat 1". un altre amb
el nom que vulguis, i amb l'extensió txt. Dins posa-hi mínim 5 línies i màxim 10 línies de
text, d'un text extret d'internet o d'algun llibre o document. Crea'n un tercer molt similar a
l'anterior, amb un altre nom, però amb mínim 500 línies de text. Aquests seran els arxius
de partida per començar a practicar amb les diferents funcions vistes sobre streams.

3. Crea un paquet amb el nom cat.spaad.iniciacio

4. Crea una classe amb un main a dins aquest paquet anomenada IniciacioStreams.

5. Crea un altre paquet anomenat cat.spaad.tipusstreams, dins del qual anirem creant a partir
d'ara totes les classes per als diferents tipus d'streams que treballarem.

6. Crea una classe d’utilitat (amb tots els mètodes de classe) anomenada
MetodesByteStreams amb els métodes:

a) A la classe IniciacioStreams crea un mètode anomenat provesByte des d'on cridis tots
els mètodes que programaràs als exercicis següents sobre byte streams.

b) llegeixBytes(String origen) Rep com a paràmetre un String amb la ruta d'un fitxer.
Llegeix el fitxer byte a byte i el mostra per consola. Prova'l amb els tres fitxers creats al
punt 2. (FileInputStream)

c) escriuBytes(String desti, byte[] dades) Guarda al fitxer destí el text contingut dins
dades. Prova'l creant un array de bytes i també passant-li els bytes d'un String
("Benvinguts al món dels stream bytes".getBytes()). Per a les proves, utilitza l'arxiu
prova.txt. (FileOutputStream)

7. Crea una altra classe d'utilitat anomenada MetodesCharacterStreams

a) A la classe IniciacioStreams crea un mètode anomenat provesCharacter des d'on cridis


tots els mètodes que programaràs als exercicis següents sobre character streams.

b) Dins la classe MetodesCharacterStreams, crea el mètode, llegeixCharacters(String


origen). Rep com a paràmetre un String amb la ruta del fitxer txt curt que heu creat al
punt 2, a continuació prova-ho amb el fitxer llarg. Llegeix el fitxer caràcter a caràcter i
el mostra per consola. (FileReader)

c) També crea el mètode, escriuCharacters(String desti, String dades) Guarda al fitxer


destí el text contingut dins dades. Per això, usa l'arxiu prova.txt. (FileWriter)

8. Crea una altra classe d'utilitat MetodesBufferedStreams

a) A la classe IniciacioStreams crea un mètode anomenat provesBuffered des d'on cridis


tots els mètodes que programaràs als exercicis següents sobre buffered streams.

Pàg. 1/2
CIFP Pau Casesnoves
Joan Miró, 22 07300 Inca
Tel. 971 881710 11
secretaria@paucasesnovescifp.cat

b) Dins la classe MetodesBufferedStreams, crea el mètode llegeixLinia. Rep com a


paràmetre un String amb la ruta del fitxer amb el text amb accents. Llegeix el fitxer
línia a línia, el mostra per consola i torna un array amb les línies que ha llegit. Utilitzau
els dos arxiu txt creats al punt 2. (BufferedReader)

c) També, crea el mètode, escriuLinia(String desti, String[] dades) Guarda al fitxer destí el
text contingut dins l'array de cadenes dades. Al fitxer s'ha de veure cada string en una
línia(out.newLine()). (BufferedWriter)

9. Crea una altra classe MetodesDataStreams

a) A la classe IniciacioStreams crea un mètode anomenat provesData des d'on cridis tots
els mètodes que programaràs als exercicis següents sobre data streams.

b) Dins la classe d'aquest apartat 9 (MetodesDataStreams), crea un mètode


escriuArray(String desti, double[] dades) Escriu al fitxer desti la longitud de l'array i
després un a un tots els elements de l'array. (DataOutputStream)

c) Crea un altre mètode, double[] llegeixArray(String origen) Llegeix les dades que s'han
escrit al fitxer origen i torna un array amb les dades que ha llegit. (DataInputStream)

10. Acabarem fent feina amb objectes, per això, crea una última classe d'utilitat
MetodesObjectStreams

a) A la classe IniciacioStreams crea un mètode anomenat provesObjecte des d'on cridis


tots els mètodes que programaràs als exercicis següents sobre data streams.

b) Crea al paquet cat.spaad.ajudes una classe Inicis amb un atribut numeric de tipus int i
un alfanumeric de tipus String. Afegeixi-li un constructor amb els dos paràmetres, els
getters i els setters. Genera automàticament l'equals i el hashCode, i el toString.

c) Per a que els objectes de la classe Inicis es puguin enviar a un stream, utilitza el
mecanisime Serializable, per tal de poder representar l'objecte com una seqüència de
dades. (Serializable)

d) Dins la classe MetodesObjectStreams, crea un mètode escriuObjecte que rep com a


paràmetre el fitxer destí on es guardarà l'objecte, i qualsevol objecte que es pugui
enviar a un Stream. (ObjectOutputStream)

e) També crea el mètode, llegeixObjecte. Rep com a paràmetre el fitxer origen i torna un
objecte que haurà llegit d'aquest fitxer.(ObjectInputStream)

Pàg. 2/2

You might also like