Theorievragen informatica 2002 2003 Theorievragen Informatica



Dovnload 14.48 Kb.
Datum27.08.2016
Grootte14.48 Kb.

Theorievragen informatica 2002 - 2003

Theorievragen Informatica
1) Geef de werking van een Random Acces

In de meeste methoden die handelen rond stromen kon men ofwel een bestand schrijven ofwel kon men een bestand gaan lezen. Men kon echter de twee niet gaan combineren, maw tegelijkertijd schrijven en lezen was onmogelijk. Tevens moest men telkens de bestanden sequentiëel gaan doorlopen.


Deze beperkingen worden allemaal te niet gedaan met de klasse RandomAccesFile. Deze klasse bevat alle mogelijkheden van de klassen FileInputStream, FileOutPutstream, DataInputstream en DataOutputStream + nog andere. Men moet wel opmerken dat het hier gaat over binaire bestanden.
De werking van een random Acces file gaat als volgt in elkaar. De random Acces gedraagt zich als een array. Er is immers een soort index, de file – pointer genoemd. Inputoperaties gaan nu bytes gaan lezen van die file – pointer en verplaatsen deze file – pointer voorbij de gelezen bytes. Outputoperaties werken analoog: schrijven vanaf de file – pointer (“index”) en de file – pointer wordt verplaatst tot na de geschreven bytes. Wanneer nu blijkt dat het einde van het bestand bereikt wordt, dan zal de array vanzelf uitgebreid worden.
Er kunnen bij het gebruik van een Random Acces 2 uitzonderingen optreden. Ten eerste kan men hebben dat men het einde van het bestand heeft bereikt alvorens de gewenste hoeveelheid bytes is ingelezen, wanneer dit het geval is wordt een EOFException opgeworpen. Ten tweede kan er een andere uitzondering optreden, deze wordt dan opgevangen door een IOException.
Bij de constructie van een object van de klasse RandomAccesFile moet men naast de naam van het bestand een mode doorgeven. Deze mode kan twee waarden aannemen:

Tenslotte kunnen we nog enkele handige methoden opgeven:



  • getFilePointer(): men kan zo de index van de file – pointer opvragen

  • seek(…): men kan zo de file – pointer op een willekeurige plaats positioneren.




2) Hoe zit de input – output in elkaar?

Input – output of kortweg de stromen of streams genoemd kunnen we in de eerste plaats gaan indelen op de soort stroom. Er zijn er immers 2:



  • karakterstromen

  • Bytestromen


De Karakterstreams

Reader en writer zijn de abstracte superklassen van de karakterstromen in java.io. Abstraact betekent hier dat je er geen objecten van kan declareren, maar dat zij enkel dienden als een soort sjabloon waaruit een hele reeks klassen werden waaruit je dan uiteindelijk wel de nodige methoden om stroom - objecten van te declareren. We hebben de reader – klasse die de nodige methoden bezit om karakters te lezen, en de writer – klasse, die de nodige methoden bezit om de karakters te schrijven.


Reader:

  • BufferedReader

  • InputStreamReader -> FileReader

  • FilterReader -> PushbackReader

Writer:


  • BufferedWriter

  • OutputStreamWriter -> FileWriter

  • PrintWriter

Bij de gebufferde stromen gaan we informatie verzenden in grote blokken; dit gaat immers heel wat sneller (het boeken – voorbeeld)


Bij de Pushback stromen gaan we mogelijkheid bezitten om een soort van unread() – methode op te roepen die reeds gelezen data kan terugduwen naar de bron
De PrintWriter heeft een aantal supplementaire methoden zoals print() en println(). De argumenten kunnen van elk primitief type zijn en ze worden automatisch geconverteerd naar een karakterstring en vervolgens omgezet in een karakter – array die geschreven wordt. (voorbeelden…).
De Byte – Streams

InputStream en OutputStream zijn de abstracte superklassen van de byte - stromen in java.io. Abstraact betekent hier opnieuw dat je er geen objecten van kan declareren, maar dat zij enkel dienden als een soort sjabloon waaruit een hele reeks klassen werden waaruit je dan uiteindelijk wel de nodige methoden om stroom - objecten van te declareren. We hebben de InputStream – klasse die de nodige methoden bezit om bytes te lezen, en de OutputStream – klasse, die de nodige methoden bezit om de bytes te schrijven.


InputStream:

  • FileInputStream

  • FilterInputStream -> BufferedInputStream

-> PushbackInputStream

-> DataInputStream

OutputStream:


  • FileOutputStream

  • FilterOutputStream -> BufferedOutputStream

-> DataOutputStream

-> PrintStream



DataInput en DataOutput streams gaan stromen van primitieve types direct van of naar de stroom kunnen lezen of schrijven. DataInput en DataOutput hebben een aantal supplementaire methoden zoals bijvoorbeeld readInt(), writeInt(),…
PrintStreams worden gebruikt om te schrijven op een platform – onafhankelijke manier. Naast de klassieke Write – methoden beschikt deze methode over de methoden print() en println(). Deze argumenten worden opnieuw eerst geconverteerd naar een karakterstring om daarna omgezet te worden naar een byte – array
3) Exceptions hoe? Waarom?
4) Hoe een tekst behandelen in Java?
5) primitieve <-> niet – primitieve arrays?
6) Hoe kopiëren, vergelijken, vergroten,… van arrays?



De database wordt beschermd door het auteursrecht ©opleid.info 2017
stuur bericht

    Hoofdpagina