2012-02-21 12 views

Respuesta

9

Puede pasar una instancia de java.io.File. Esto es esencialmente lo que hace el componente de archivo Camel por sí mismo (aunque se coloca dentro de un WrappedFile, debido al código compartido con los componentes de ftp).

Por supuesto, puede también acaba de almacenar el nombre del archivo como una cadena y, a continuación, desde el acceso del procesador del archivo, ya sea por

String name = exchange.getIn().getBody(String.class); 
File file = new File(name); 
... 
FileInputStream fis = new FileInputStream(file); 
// read the file from the stream, etc. 
+3

A ver si lo he entendido bien. Camel no ** carga ** los contenidos del archivo en el mensaje cuando lo consume, sino que pasa un 'Archivo' (envuelto dentro de un objeto' WrappedFile'). Y cuando pido el cuerpo como 'byte []' ('exchange.getIn(). GetBody (byte []. Clase)'), _then_ carga el cuerpo? – Tonio

+4

Sí, eso es correcto. El contenido del archivo se carga a pedido. –

Cuestiones relacionadas