Estoy tratando de procesar archivos potencialmente grandes usando Camel, y estoy preocupado de que se "ajusten" en el cuerpo de un Camel Message
. ¿Hay alguna manera en que puedo simplemente pasar el nombre (ruta) del archivo como el cuerpo del mensaje, y luego en un procesador usar eso para leer desde el disco?Camel: componente "file", pero solo pase el nombre del archivo como body
6
A
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.
Cuestiones relacionadas
- 1. ¿Cómo obtener solo el nombre del archivo en el preprocesador?
- 2. Extraer solo el nombre de archivo Del nombre de FileItem
- 3. file de servlet cargar la codificación del nombre de archivo
- 4. Ruby require 'file' no funciona, pero requiere './file'. ¿Por qué?
- 5. Cómo aplicar el elemento secundario: pase el mouse pero no el elemento primario: pase el mouse
- 6. cómo obtener solo el nombre del archivo sin la ruta del archivo?
- 7. ¿Cómo obtener el nombre del archivo cuando el usuario selecciona un archivo a través de <input type = "file" />?
- 8. ¿Cómo extraer el nombre del archivo del nombre de la ruta del archivo?
- 9. File.renameTo() devuelve true, pero no se ha cambiado el nombre del archivo
- 10. jQuery: obtenga el nombre de archivo seleccionado de <input type = "file" />
- 11. Pase ViewBag como parámetro
- 12. Obtener el nombre del archivo MAKE del archivo MAKE
- 13. ¿Cómo abro un archivo si solo conozco parte del nombre del archivo?
- 14. MVC - pase ViewData como boolean
- 15. ¿De dónde saca paperclip el nombre del archivo original?
- 16. Prueba Camel con MockEndpoints
- 17. Cuál es la diferencia entre el archivo: /, file: //, file: ///
- 18. Obtener el nombre del producto del archivo msi en C#
- 19. Obtener la extensión del archivo (nombre base?)
- 20. ¿Cuál es el propósito del pase indefinido?
- 21. Eventos del componente Adobe Flex
- 22. ¿Cómo obtener el nombre del objeto File sin su extensión en Java?
- 23. Cómo establecer el nombre del archivo en la respuesta
- 24. longitud máxima del nombre del archivo
- 25. Obtener el nombre del archivo usando xsl
- 26. ¿Cambiar el nombre del archivo en Cocoa?
- 27. Pase un método como parámetro
- 28. único archivo seleccionar sólo con objeto File
- 29. Pase una excepción como un paquete
- 30. Obtener el nombre del archivo de mapa de bits
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
Sí, eso es correcto. El contenido del archivo se carga a pedido. –