In this tip, I will show you how to create a very simple Synchronous File Reader inside your Mule flow.
You just need to add these lines of code in your Java component class, which will enable you to read a File in between the flow.
I hope this helps!
package org.rahul.util;
import java.io.File;
import org.mule.api.MuleEventContext;
import org.mule.api.lifecycle.Callable;
public class SynchronousFileReader implements Callable{
public File getFileContent(String fileLocation)
{
File file = new File(fileLocation);
return file;
}
@Override
public Object onCall(MuleEventContext eventContext) throws Exception {
String filepath = eventContext.getMessage().getInvocationProperty("filepath");
File file = getFileContent(filepath);
return file;
}
}
Sample Usage:
<component class="org.rahul.util.SynchronousFileReader"
doc:name="Java"/>
-->
<file:file-to-byte-array-transformer doc:name="File to Byte Array"
mimeType="binary/octet-stream"/>
Use transformers like File-to-String or File-to-Byte-Array Transformer according to your requirement, after using this Java component.