É POSSÍVEL LER CADA BYTE DE UM ARQUIVO BIN?RIO ?

MARCOS 20/03/2017 22:04:01
#472569
Bom dia!
Prezados colegas,embora tenha pesquisado na internet
não consegui um exemplo do que necessito.

O problema:

Preciso abrir um arquivo binário ( Arq1.Jpg ) , ler o conteúdo de cada byte e depois tornar a
criar um outro arquivo idêntico , com outro nome ( Arq2.jpg )

Obs: Não quero modificar , ou editar o conteúdo. Mas, somente ler o conteúdo de
cada byte e depois refazer um outro arquivo como exatamente o mesmo conteúdo.

Agredeço qualquer ajuda!
KERPLUNK 20/03/2017 23:06:15
#472572
Resposta escolhida
Deixa eu tentar adivinhar, você está querendo fazer a transmissão desse arquivo de um lugar para outro, provavelmente usando Winsock, acertei? E sim, é totalmente possível fazer isso que você quer.
MARCOS 22/03/2017 21:27:44
#472641
Bom dia,Kerplunk !
Na verdade não.
Conforme mencionei, o que preciso é abrir um arquivo binário (Como uma imagem,por exemplo ).
Ler cada byte do arquivo e depois remontar o arquivo e salvar exatamente como estava, só que com um nome diferente.

Algum colega, conhece um exemplo?
KERPLUNK 22/03/2017 21:32:10
#472642
Super simples:

byte[] bytesArquivo = File.ReadAllBytes(NomeArquivoOrigem);
StringBuilder sb = new StringBuilder();

foreach(byte b in bytesArquivo)
{
sb.Append(Convert.ToString(b, 2).PadLeft(8, [ô]0[ô]));
}

File.WriteAllText(NomeArquivoDestino, sb.ToString());
OCELOT 23/03/2017 10:43:38
#472670
Citação:

:
Bom dia,Kerplunk !
Na verdade não.
Conforme mencionei, o que preciso é abrir um arquivo binário (Como uma imagem,por exemplo ).
Ler cada byte do arquivo e depois remontar o arquivo e salvar exatamente como estava, só que com um nome diferente.

Algum colega, conhece um exemplo?


E qual a diferença de fazer isso pra copiar o arquivo?
MARCOS 24/03/2017 21:32:03
#472738
Bom dia,Kerplunk!
Muito obrigado por sua resposta.
No entanto, eu tentei usar seu exemplo para transferir cada byte lido do arquivo binário ( Minhafoto.jpg) , para uma
lista onde preciso armazenar os valores de cada byte.
Existe um modo de modificar seu exemplo, para conseguir transferir o conteúdo de cada byte, para uma lista???

Agradeço qualquer auxilio.
KERPLUNK 25/03/2017 14:15:37
#472757
A variável bytesArquivo é um array, provavelmente possui o método ToList()
NILSONTRES 25/03/2017 15:39:49
#472758
Citação:

E qual a diferença de fazer isso pra copiar o arquivo?


Nenhuma, é só copiar e dar um nome diferente, só isso.
WEBMASTER 26/03/2017 17:44:17
#472784
.
Citação:

E qual a diferença de fazer isso pra copiar o arquivo?



Na verdade ele esta lendo algo de disco e armazenando em memoria para transmitir depois, por isso que filecopy nao vai funcionar...sinceramente tomara que seja para [ô]bom[ô] uso
MARCOS 26/03/2017 18:40:03
#472785
Obrigado,Kerplunk!
Estou tentando utilizar este recurso para um projeto de armazenamento e renomeação de arquivos para empresa.
Vou tentar adaptar seu exemplo, num'dos métodos que estou montando na classe principal.
Tópico encerrado , respostas não são mais permitidas