Class CSVManager

java.lang.Object
AEDs3.DataBase.CSVManager
All Implemented Interfaces:
AutoCloseable, Iterable<Track>

public class CSVManager extends Object implements Iterable<Track>, AutoCloseable
Classe responsável por gerenciar a leitura de arquivos CSV que contêm dados de faixas de música. A classe implementa a interface Iterable para fornecer uma maneira conveniente de iterar sobre os registros de faixas presentes no arquivo CSV.

A classe também implementa AutoCloseable, garantindo que o recurso CSVParser seja fechado automaticamente quando não for mais necessário.

Utiliza a biblioteca Apache Commons CSV para ler e parsear o arquivo CSV.

  • Field Details

    • parser

      protected org.apache.commons.csv.CSVParser parser
      Objeto responsável pela análise (parse) do arquivo CSV.
  • Constructor Details

    • CSVManager

      public CSVManager(String fileName) throws IOException
      Construtor da classe CSVManager.

      Inicializa o parser do arquivo CSV e configura o padrão de leitura para ignorar o cabeçalho e utilizar a codificação UTF-8.

      Parameters:
      fileName - O nome do arquivo CSV a ser lido.
      Throws:
      FileNotFoundException - Se o arquivo não for encontrado.
      IOException - Se ocorrer algum erro de entrada/saída durante a leitura do arquivo.
  • Method Details

    • close

      public void close() throws IOException
      Método para fechar o parser do CSV e liberar os recursos.
      Specified by:
      close in interface AutoCloseable
      Throws:
      IOException - Se ocorrer um erro durante o fechamento do parser.
    • iterator

      public Iterator<Track> iterator()
      Implementação do método Iterable.iterator() que fornece um iterador para iterar sobre as faixas de música presentes no arquivo CSV.

      O iterador converte cada registro do CSV em um objeto Track, que representa uma faixa de música com seus metadados.

      Specified by:
      iterator in interface Iterable<Track>
      Returns:
      Um iterador para os objetos Track.