1
resposta

06 Criação de arquivos - Resposta certa

Olá pessoal, boa tarde!

Desculpas em pleno carnaval está enviando tarefas para correção.

Em pleno feriado de carnaval, estou eu aqui tentando retomar os meus estudos depois de andar muito ocupado com as lutas de casa e do trabalho.

Estou me esforçando para conseguir essa formação e espero que ela faça diferença nas minhas conquistas pela frente.

Estou preocupado com o tempo que falta para o termino da jornada. Como fica a situação de quem não conseguir finalizar tudo até a data prevista?

Pode se inscrever de novo na nova jornada que se inicia no começo do ano e aproveitar o que já foi feito se escolher a mesma trilha?

Quanto ao exercício resolvido:

Considere o seguinte trecho de código:

public class ExemploArquivo {
public static void main(String[] args) {
try {
FileWriter writer = new FileWriter("arquivo");

  writer.write("Hello");
  writer.close();
  writer.write(" World!");
  writer.close();
} catch (Exception e) {
  System.out.println("Erro!");
}

}
}

Fiz vários testes com mais de um resultado:
Com essa versão ele escreve no arquivo e não produz erro

import java.io.FileWriter;

public class ExemploArquivo {
public static void main(String[] args) {

try {
  FileWriter writer = new FileWriter("arquivos");
  
  writer.write("Hello");
  writer.close();
  
} catch (Exception e) {
  System.out.println("Erro!");
}

}
}

C:\MeusJavas>javac ExemploArquivo.java

C:\MeusJavas>java ExemploArquivo
06 Criação de arquivos - Resposta certa
Com essa versão ele escreve no arquivo e produz erro

Em resumo, o código tenta escrever em um arquivo, fecha-o, tenta escrever novamente no mesmo arquivo (o que causa um erro), e então imprime "Erro!" no console para indicar que ocorreu um problema.

import java.io.FileWriter;

public class ExemploArquivo {
public static void main(String[] args) {

try {
  FileWriter writer = new FileWriter("arquivo");
  
  writer.write("Hello");
  writer.close();
  writer.write(" World!");
  writer.close();
} catch (Exception e) {
  System.out.println("Erro!");
}

}
}

C:\MeusJavas>javac ExemploArquivo.java

C:\MeusJavas>java ExemploArquivo
Erro!

arquivo

1 resposta

Bom dia, Fábio! Tudo bem?

Primeiro falando sobre suas perguntas: como você esta no programa One nos aqui da Alura não diretamente acesso aos calendários, datas e limites de acesso que vocês têm, então recomendo que acesso os meios de informação que lhe foram passados no início do programa para se informar sobre.

O comportamento que você observou está correto. No código original, após fechar o FileWriter com writer.close(), qualquer tentativa de escrever no arquivo novamente com writer.write(" World!"); resultará em uma exceção, pois o arquivo já foi fechado. Por isso, o texto "Erro!" é impresso no console.

Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!