Qual é a diferença entre fluxo de bytes e fluxo de caracteres em Java

Índice:

Anonim

o principal diferença entre o fluxo de bytes e o fluxo de caracteres em Java é que o O fluxo de bytes ajuda a realizar operações de entrada e saída de bytes de 8 bits, enquanto o fluxo de caracteres ajuda a realizar operações de entrada e saída de Unicode de 16 bits.

Um fluxo é uma sequência de dados que fica disponível ao longo do tempo. Uma fonte gera dados como um fluxo. O destino consome ou os dados lidos estão disponíveis como um fluxo. Em outras palavras, um fluxo explica o fluxo de dados que permite a leitura ou a gravação. Duas maneiras de realizar operações em fluxos em Java são usando o fluxo de bytes e o fluxo de caracteres.

Fluxo de bytes, fluxo de caracteres, Java

O que é Byte Stream em Java

Os fluxos de bytes em Java ajudam a realizar operações de entrada e saída de bytes de 8 bits. Em outras palavras, ele processa dados byte a byte. As classes mais frequentemente usadas para operações de fluxo de bytes são FileInputStream e FileOutputStream. O FileInputStream ajuda a ler da fonte, enquanto o FileOutputStream ajuda a gravar no destino.

import java.io. *;

public class Program {

public static void main (String args []) throws IOException {

FileInputStream in = null;

FileOutputStream out = null;

Experimente {

in = novo FileInputStream (“input.txt”);

out = novo FileOutputStream (“output.txt”);

int c;

enquanto ((c = in.read ())! = -1) {

out.write (c);

}

}finalmente {

if (in! = null) {

in.close ();

}

if (out! = null) {

out.close ();

}

}

}

}

De acordo com o programa acima, existem dois objetos FileInputStream e FileOutputStream. O loop while lê os dados no arquivo input.txt e os grava no novo arquivo output.txt até chegar ao final do arquivo. O bloco finalmente fechará os arquivos. Finalmente, o arquivo output.txt também terá o mesmo conteúdo do arquivo input.txt. Normalmente, é possível usar o Byte Stream com qualquer tipo de arquivo.

O que é Character Stream em Java

O fluxo de caracteres em Java ajuda a realizar entrada e saída para Unicode de 16 bits. As classes mais comuns para streaming de caracteres em Java são FileReader e FileWriter. Internamente, o FileReader usa FileInputStream. Da mesma forma, o FileWrite usa FileOutputStream.

import java.io. *;

public class Program {

public static void main (String args []) throws IOException {

FileReader em = null;

FileWriter out = null;

Experimente {

in = novo FileReader (“input.txt”);

out = novo FileWriter (“output.txt”);

int c;

while ((c = in.read ())! = –1) {

out.write (c);

}

}finalmente {

if (in! = null) {

in.close ();

}

if (out! = null) {

out.close ();

}

}

}

De acordo com o programa acima, existem dois objetos FileReader e FileWriter. O loop while lê os caracteres Unicode no arquivo txt de entrada e os grava no novo arquivo chamado output.txt até chegar ao final do arquivo. O bloco finalmente fechará os arquivos. No final, o arquivo output.txt também terá o mesmo conteúdo do arquivo input.txt. O FileReader lê dois bytes por vez, enquanto o FileWriter grava dois bytes por vez.

Diferença entre fluxo de bytes e fluxo de caracteres em Java

Definição

Byte Stream é um mecanismo que executa entrada e saída de bytes de 8 bits, enquanto Character Stream é um mecanismo em Java que executa operações de entrada e saída de Unicode de 16 bits. Portanto, esta é a principal diferença entre Byte Stream e Character Stream em Java.

Funcionalidade

Outra diferença entre o fluxo de bytes e o fluxo de caracteres em Java é que o fluxo de bytes realiza operações de entrada e saída de bytes de 8 bits, enquanto o fluxo de caracteres realiza operações de entrada e saída de Unicode de 16 bits.

Classes Associadas

As classes comuns para streaming de bytes em Java são FileInputStream e FileOutputStream. No entanto, as classes comuns para streaming de caracteres em Java são FileReader e FileWriter. Conseqüentemente, esta é outra diferença entre o fluxo de bytes e o fluxo de caracteres em Java.

Conclusão

Um fluxo se refere a uma sequência de dados. Dois métodos de execução de operações em streams em Java estão usando Byte Stream e stream de caracteres. A principal diferença entre o fluxo de bytes e o fluxo de caracteres em Java é que o fluxo de bytes ajuda a realizar operações de entrada e saída de bytes de 8 bits, enquanto o fluxo de caracteres ajuda a realizar operações de entrada e saída de Unicode de 16 bits.

Referência:

1. “Fluxos de bytes.” O que todo cientista da computação deve saber sobre aritmética de ponto flutuante, disponível aqui.2. “Streams de personagens.” O que todo cientista da computação deve saber sobre aritmética de ponto flutuante, disponível aqui.

Cortesia de imagem:

1. “147386” (CC0) via Pixabay

Qual é a diferença entre fluxo de bytes e fluxo de caracteres em Java