Estou tendo problemas para imprimir bytes

Boa noite.

Eu preciso fazer um programa que lê uma string com um nome e cria um arquivo .txt com os bytes desse nome. Depois de alguma pesquisa, cheguei ao seguinte código

public static void nomeBytes(String nome, String nomebit) throws IOException {
    
    File destino = new File(nomebit);
    FileOutputStream canoOut = new FileOutputStream(destino);
    byte [] nomebyte = nome.getBytes();
    ByteArrayInputStream nomembyte = new ByteArrayInputStream(nomebyte);
    int k = 0;
    while((k = nomembyte.read()) != -1) {
        canoOut.write(Integer.valueOf(k));
    }
    canoOut.close();
}

Porém sempre que eu o rodo ele cria um .txt com o próprio nome que foi passado. O que estou fazendo de errado?

Nada, você está gravando os bytes da String no arquivo, esses bytes correspondem aos caracteres da String.

Oh entendo, achei que com esse código eu conseguiria os inteiros que representam os bytes.
Muito obrigado.

@staroski, me corrige se eu estiver errado.

Os bytes da string são uma representação decimal de cada letra de acordo com a tabela ASCII. Ao escrever esses bytes no arquivo, cada decimal será automaticamente convertido para sua letra correspondente.

1 curtida

@Lucas_Camara, isso mesmo.

1 curtida