[Resolvido]DUVIDA DIFERENÇA NOS METODOS

5 respostas
evertonsilvagomesjav

Opa galera to com uma duvida gostaria muito que vcs me falassem pq nao é mesma coisa,

public class TesteArquivo {
	FileWriter fileWriter = null; // aki estou criando uma variavel do tipo FileWriter
	public void arquivo (String arquivo) {
		try{
		File file = new File (System.clearProperty("user.dir") +File.separator +"arquivo tosco.txt");
		 fileWriter = new FileWriter (file, true);
		
		fileWriter.write(arquivo);

	} catch (IOException e) {
		e.printStackTrace();
	}finally{
		if(fileWriter != null){
			try {
				fileWriter.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
}

DESSA FORMA DA ERRO MAIS NÃO E A MESMA COISA? QUAL Á DIFERENÇA PARA O DE CIMA?

public class TesteArquivo {
	
	public void arquivo (String arquivo) {
		try{
		File file = new File (System.clearProperty("user.dir") +File.separator +"arquivo tosco.txt");
		FileWriter fileWriter = new FileWriter (file, true); // aki estou istanciando a classe FileWriter 		
		fileWriter.write(arquivo);

	} catch (IOException e) {
		e.printStackTrace();
	}finally{
		if(fileWriter != null){ // MAS AKI DA O ERRO NA VARIAVEL fileWriter pq? se esta istanciada em cima?
			try {
				fileWriter.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
}

AJUDA AE GALERA?! VLW

5 Respostas

MaikoID

O bixo… se você postasse a msg do compilador seria só traduzir. Deve ser undeclarede reference to fileWriter

A variavel fileWriter pertence ao try{} (isso é um escopo de visibilidade) nada do que for declarado ai será visto no restante. Da mesmas forma que você não consegue acessar do catch o que esta no try, você não consegue acessar do finally.

Agora se você declara a variável fora do try ai ela se torna pertencente ao escopo do método que esta inserida, então os tres try, catch e finally tem acesso.

Abraço.

Cherubini

coloca a variavel fora do try!!!

escopo de bloco,por isso nao vê! xD

E

Cara, não é “clearProperty” (que se deve usar apenas em casos extremamente específicos) e sim “getProperty”. “clearProperty” de “user.dir” ou “user.home” costuma deixar o Java malucão depois de executado.

MaikoID

Eu vi isso também, falei carai pra que serve o clear, maaas se ele ta usando deve ter algum objetivo… rsrs

evertonsilvagomesjav

opaaa Vlw ae Galera resolvido !!!

Criado 16 de setembro de 2009
Ultima resposta 16 de set. de 2009
Respostas 5
Participantes 4