Pular para o conteúdo principal

Questão de Programação — Programação Orientada a Objetos — Quadrix 2023

ProgramaçãoProgramação Orientada a Objetos
Código
qg029853
Banca
Quadrix
Órgão
CRQ 4ª Região-SP
Ano
2023
Nível
Superior
Cargo
Profissionais de Atividade de Suporte - Analista de Sistemas (Rede)
No que diz respeito aos tipos de variáveis, à orientação a objetos e aos métodos de acesso a arquivos, julgue o item.O método BufferedWriter() é utilizado em diversas linguagens orientadas a objetos e tem como função principal retornar o número de blocos lidos.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

BufferedWriter e métodos de acesso a arquivos

Gabarito: E — ERRADO. A afirmação está incorreta porque o método BufferedWriter() não retorna o número de blocos lidos; na verdade, BufferedWriter é uma classe (em Java, por exemplo) que fornece um buffer para escrita eficiente em fluxos de caracteres, e o método que retorna o número de blocos lidos seria algo como read() de um BufferedReader ou read(byte[]) de um InputStream. A função principal de BufferedWriter é escrever dados de forma eficiente, não ler.

O enunciado mistura conceitos de diferentes classes de I/O (entrada/saída). Vamos entender o que cada uma faz:

  • BufferedWriter: é uma classe que escreve texto em um fluxo de saída (como um arquivo), usando um buffer para melhorar a performance. Ela não lê nada.

  • BufferedReader: é a classe complementar, que texto de um fluxo de entrada, também com buffer.

  • Métodos de leitura: em Java, read() retorna um caractere (ou -1 se o fim do fluxo foi atingido), e read(char[], int, int) retorna o número de caracteres lidos. Em C, fread() retorna o número de blocos lidos.

A confusão da banca é clássica: trocar a função de escrita pela de leitura e ainda atribuir a ela o retorno de "número de blocos lidos", que é uma característica de funções de leitura de baixo nível (como fread em C).

BufferedWriter
  • 1Função
    • Escreve texto
    • Buffer para eficiência
  • 2Método principal
    • write()
  • 3Não retorna blocos lidos
  • 4BufferedReader
    • Função
      • Lê texto
      • Buffer para eficiência
    • Métodos de leitura
      • read() → caractere
      • read(char[], int, int) → nº de caracteres
  • 5fread (C)
    • Retorna nº de blocos lidos
LEVEL · soulevel.com.br

Alternativa E — ❌ Incorreta ⟵ GABARITO

A afirmação está errada por dois motivos:

  1. BufferedWriter é para escrita, não leitura: sua função é bufferizar a escrita de caracteres, melhorando a eficiência ao reduzir o número de chamadas ao sistema operacional. O método write() é o principal, e não há retorno de "blocos lidos".

  2. O retorno de "número de blocos lidos" é de métodos de leitura: por exemplo, em C, fread() retorna o número de itens (blocos) lidos. Em Java, BufferedReader.read(char[], int, int) retorna o número de caracteres lidos, mas isso é da classe de leitura, não da de escrita.

Portanto, a alternativa está incorreta.

Gabarito: letra E

Link permanente: /questoes/qg029853