Fechando corretamente fluxos

1 resposta
T

Place the Fragmens into the program, so that the program will get lines from a text file, display them, and then close all the resources.

Code Fragments:
BufferedReader
StreamReader
FileReader
readLine
readIn
read
closeFile
close
x1
x2
x3
x4

Program

import java.io.*;

public class ReadFile
{
	public static void main(String [] Maren){
		try{
			File ___ = new File("MyText.txt");

			________  __ = new _________(x1);
			________  x4 = new _________(x2);

			String x3 = null;

			while( (x3 = __.________() ) != null){
				System.out.println(x3);
			}

			__._______();

		}catch(IOException e){
		}
	}
}

A minha solução foi essa:

import java.io.*;

public class ReadFile
{
	public static void main(String [] Maren){
		try{
			File x1 = new File("MyText.txt");

			FileReader x2 = new FileReader(x1);
			BufferedReader x4 = new BufferedReader(x2);

			String x3 = null;

			while( (x3 = x4.readLine()) != null){
				System.out.println(x3);
			}

			x4.close();

		}catch(IOException e){
		}
	}
}

Funciona normal e realmente lê linha por linha (conforme o enunciado exigia). Porém, estou em dúvida no x4.close(); O enuciado diz “close All THE RESOURCES”. Isso realmente fecha todos os recursos? Ao meu ver não…

Obrigado!

1 Resposta

V

creio que fecha todos os recursos porq o FileReader x2 está sendo encapsulado ao BufferedReader

Criado 9 de janeiro de 2010
Ultima resposta 9 de jan. de 2010
Respostas 1
Participantes 2