¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como converter InputStream em OutputStream em Java: Exemplo de código correto

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 1 Vistas
0
Cargando...

Olá a todos!

Gostaria de codificar meu primeiro Mapeamento JAVA. Para isso, gostaria apenas de converter o InputStream in em OutputStream out .

Isso não funciona:

out = new FileOutputStream(new File(in));

Como deve ser o código?

Obrigado, cumprimentos

Mario

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá Mario!

Você está utilizando o parâmetro do construtor incorretamente. Não há um construtor para o objeto File com parâmetro do tipo InpuStreamObject.

http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html

Verifique a documentação do Java.

http://java.sun.com/j2se/1.4.2/docs/api/

Peter

Editado por: Peter Jarunek em 22 de fevereiro de 2008 às 10:43 AM

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Por cierto: InputStream e OutputStream são apenas classes abstratas.

O que exatamente você deseja alcançar com o mapeamento? Por que está criando um FileOutputStream? Deseja criar um arquivo durante o mapeamento?

Peter

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Mario Müller:

Se você simplesmente passar um inputStream para um outputStream sem nenhuma transformação, você pode usar o seguinte código:

public void execute (InputStream in, OutputStream out) {

try {

int buffer;

while ((buffer = in.read()) != -1) {

out.write(buffer);

} //fim do while

out.flush();

} catch (Exception e) {

throw new StreamTransformationException(e.getMessage(), e);

}

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Mario.

Quer converter a entrada em saída diretamente sem fazer nenhuma transformação?

A maneira como sempre fiz foi carregar primeiro o documento de entrada:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

factory.setNamespaceAware(true);

DocumentBuilder builder = factory.newDocumentBuilder();

Document doc = builder.parse(inputStream);

Depois de carregar o documento, você pode analisar seu conteúdo com a API DOM.

Finalmente, você cria o documento transformado e o retorna através de outputstream:

Document resultDoc = builder.newDocument();

...

...

TransformerFactory tFactory = TransformerFactory.newInstance();

Transformer transformer = tFactory.newTransformer();

transformer.setOutputProperty(OutputKeys.INDENT, "yes");

DOMSource source = new DOMSource(resultDoc);

StreamResult result = new StreamResult(outputStream);

transformer.transform(source, result);

Se quiser converter a entrada em saída, pode usar:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

factory.setNamespaceAware(true);

DocumentBuilder builder = factory.newDocumentBuilder();

Document doc = builder.parse(inputStream);

TransformerFactory tFactory = TransformerFactory.newInstance();

Transformer transformer = tFactory.newTransformer();

transformer.setOutputProperty(OutputKeys.INDENT, "yes");

DOMSource source = new DOMSource(doc);

StreamResult result = new StreamResult(outputStream);

transformer.transform(source, result);

Neste ponto, acredito que terá a entrada convertida na saída.

Saudações,

Gari.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?