venerdì 13 settembre 2013

Q2

Given the code fragment:

public void ReadFile (String source) {
       char[] c = new char [128];
       int cLen = c.length;
       try (FileReader fr = new FileReader (source)) {
       int count = 0;
       int read = 0;
       while ((read = fr.read(c)) != -1) {
       count += read;
       }
       System.out.println("Read: " + count + " characters.");
       } catch (IOException i) {
       }

What change should you make to this code to read and write strings instead of character arrays?

A.
Change FileReader to Readers.

B.
Change FileReader to DataReader.

C.
Change FileReader to File.

D.
Change FileReader to BufferReader.




Risposta : D
A.
Readers non esiste.
Se invece ci si riferiva a java.io.Reader si tratta di una classe astratta che non può essere instanziata.
B.
DataReader non esiste.
D.
La risposta è giusta perchè BufferReader implementa la classe astratta Reader che legge stream di caratteri.
Codice per testare :
importjava.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
BufferedReader fr = new BufferedReader(new FileReader(source))

Riferimenti:
http://docs.oracle.com/javase/6/docs/api/java/io/Reader.html

 

Nessun commento:

Posta un commento