No meu programa devo ler apenas arquivos .txt
Como faço uma exception para tratar um arquivo que não é txt?
E uma exception para tratar um arquivo vazio?
Exceptions Java
L
2 Respostas
voce cria uma classe que extende RunTimeExceptioon. e na hora de manipular o arquivo voce coloca um if para testar a extencao do arquivo, caso seja false voce dispara a excecao.
if(arquivo nao é txt?) {
throw new ArquivoInvalidoException("So é permitido arquivos de texto!");
}
if(arquivo é vazio?) {
throw new ArquivoVazioException("Selecione um arquivo que contenha informacoes!");
}
Seria algo assim eu acho:
Obs.: Requer java 11 ou posterior.
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Optional;
class EmptyFileException extends Exception {
EmptyFileException() {
super("O arquivo está vazio");
}
}
class NoTxtException extends Exception {
NoTxtException() {
super("Tem que ser TXT");
}
}
public class Main {
public static void main(String[] args) throws Exception {
final var filename = "test.txt";
// @formatter:off
Optional.ofNullable(filename)
.filter(f -> f.contains("."))
.map(f -> f.substring(filename.lastIndexOf(".") + 1))
.filter(f -> f.equals("txt"))
.orElseThrow(NoTxtException::new); // @formatter:on
final var content = Files.readString(Path.of(filename));
if (content.isEmpty()) {
throw new EmptyFileException();
}
System.out.println(content);
}
}
Criado 16 de junho de 2020
Ultima resposta 16 de jun. de 2020
Respostas 2
Participantes 3
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo