InputStream

6 respostas
R

8)Pessoal,

[color=darkred]A pergunta simples, o que é buffer?
Qual é quantidade de posições que passo para esse vetor?
E se existe uma forma de pegar o buffer do arquivo?
[/color]

public class StreamUtilities {   
  
    public static void copy(InputStream is, OutputStream os) {   
        int ch;   
        byte[] buffer = new byte[1024];   
        int bytes_read;   
        try {   
            do {   
                    bytes_read = is.read(buffer);   
                  if (bytes_read == -1) {   
                      return;   
                  }   
                    os.write(buffer, 0, bytes_read);   
                    os.flush();   
            }while(bytes_read != -1);   
        } catch (Exception e) {   
            e.printStackTrace();   
        } finally {   
               
        }   
    }   
}

6 Respostas

Rafael_Nunes

Utilize a classe BufferedOutputStream ao invés de fazer este controle de buffer na mão.

Luiz-SP

A pergunta simples, o que é buffer?
um punhado de coisa.
Qual é quantidade de posições que passo para esse vetor?
Vetor e como um array, vc percorre ele e pronto.
E se existe uma forma de pegar o buffer do arquivo?
Sempre leio arquivos como abaixo, mas existem n jeitos.

BufferedReader reader = new BufferedReader(new FileReader("filename"));
String line = reader.readLine();
R

Não fui tão especifico na minha pergunta mas, consergui fazer o que precisava…

Mesmo assim agradeço pela colaboração…

e pesquisei o sentido de buffer … ( o significado não é um monte de coisa)

Luiz-SP

rodox:
Não fui tão especifico na minha pergunta mas, consergui fazer o que precisava…

Mesmo assim agradeço pela colaboração…

e pesquisei o sentido de buffer … ( o significado não é um monte de coisa)

Conceitualmente um buffer é uma região de memória temporária utilizada para escrita e leitura de dados.

O que eu quis dizer foi que era um conjunto de coisa para vc manipular, desculpe, mas só tentei ser didático, posso ter sido meio vago, mas tive boa intenção, no mais fico feliz pq v conseguiu fazer o que queria.

ViniGodoy

Buffer é uma quantidade de memória de uma mídia mais rápida, usada para armazenar parte dos dados de uma mídia mais lenta.

Ele é usado para otimizar a leitura ou a gravação no caso de mídias de alta latência ou baixa velocidade (HD, redes, outra aplicação pesada). Considere, por exemplo, a escrita num HD. O HD tem um braço, que faz uma deslocamento mecânico até o ponto onde o dado deve ser gravado. Se você gravar byte-a-byte, forçará com que esse braço se locomova. Além disso, a gravação no HD é lenta.

O que você faz então? Cria uma área de memória, escreve nesse área. Essa é uma operação rápida, que libera o processador de sua máquina para fazer outras tarefas mais interessantes, como continuar a execução do seu programa. Nesse meio tempo, o hardware do HD faz a leitura dessa área, na velocidade dele, até que ela se esvazie.

Dessa forma, você pode ver que os buffers aumentam o paralelismo e permitem disfarçar os tempos gastos com hardwares mais lentos.

Luiz-SP

ViniGodoy:
Buffer é uma quantidade de memória de uma mídia mais rápida, usada para armazenar parte dos dados de uma mídia mais lenta.

Ele é usado para otimizar a leitura ou a gravação no caso de mídias de alta latência ou baixa velocidade (HD, redes, outra aplicação pesada). Considere, por exemplo, a escrita num HD. O HD tem um braço, que faz uma deslocamento mecânico até o ponto onde o dado deve ser gravado. Se você gravar byte-a-byte, forçará com que esse braço se locomova. Além disso, a gravação no HD é lenta.

O que você faz então? Cria uma área de memória, escreve nesse área. Essa é uma operação rápida, que libera o processador de sua máquina para fazer outras tarefas mais interessantes, como continuar a execução do seu programa. Nesse meio tempo, o hardware do HD faz a leitura dessa área, na velocidade dele, até que ela se esvazie.

Dessa forma, você pode ver que os buffers aumentam o palelismo e permitem disfarçar os tempos gastos com hardwares mais lentos.

Olá Vini,

Lógico que sua definição é bem melhor que a minha, mas continuo achando que um jeito bem simples de entender o que um buffer é: compara-lo com um punhado de coisa que vc manipula durante a execução do seu programa, pelo menos pra mim fica fácil assim.

Criado 19 de junho de 2008
Ultima resposta 19 de jun. de 2008
Respostas 6
Participantes 4