Problemas com Runtime.exec no Core 2 Duo[RESOLVIDO]

Boa tarde caros colegas

Bom, o caso é o seguinte:
Estou executando um comando do SO da seguinte forma:

child = rt.exec("cmd.exe /c TYPE etiqueta.prn > PRN");

Quando executado em computadores que não estão com processadores Core 2 Duo, o comando executa normalmente. Porém se executado em máquinas Core 2 Duo o sistema operacional praticamente trava. Não é garada nenhuma exception.

Então colegas, gostaria de saber se alguém tem algum “macete” pra cuidar disso.

Aqui não deu erro algum. Sinceramente isso não deve ter NADA haver com o processador.
O ambiente é o mesmo na máquina que está desenvolvendo e na máquina que está executando?
Pq vc quer copiar um arquivo para outro dessa forma?
Não seria melhor ler o arquivo e gravar no outro usando as funcionalidades do Java? Sugiro que faça assim…

[]´s

Quando ele dá o comando “type algumacoisa > prn”, na verdade ele quer jogar na impressora (normalmente uma impressora paralela).

O problema de fazer isso é que:

a) A impressora pode estar inativa ou ocupada, nesse caso é necessário ficar digitando “s” ou “n” para, respectivamente, continuar a imprimir, ou então cancelar a impressão;

b) Pode ser que não haja impressoras configuradas como “prn”. Nesse caso, vai travar mesmo.

Hummmm :roll:
Falha nossa :smiley:

Bom dia entanglement
A impressora deve estar configurada certa. Pois quando eu executo o comando direto no prompt, a impressão funciona.
Deve existir algum macete pra contornar essa situação.

De qualquer maneira, “type arquivo > prn” é equivalente a você abrir a impressora (“prn”) como um arquivo (talvez com FileOutputStream), e copiar os dados do arquivo para esse FileOutputStream. Algo como (não estou aqui tratando nenhum erro):

BufferedInputStream bis = new BufferedInputStream (new FileInputStream ("arquivo"));
FileOutputStream fos = new FileOutputStream ("prn");
byte[] buffer = new byte[8192];
for (int nBytes = bis.read (buffer); nBytes > 0; nBytes = bis.read (buffer)) {
    fos.write (buffer, 0, nBytes);
}
fos.close();
bis.close();

Uuuu…deu certo hein…
dhaudhsuahduasdh

nusss…deve t algum bug nesse Runtime.exec quando executado em algum core 2 duo

mais valew cara!!!