Over a million developers have joined DZone.

Creating a Simple Synchronous File Reader

Learn how to create a quick and easy Java component that will allow you to read your files in a Mule flow.

· Integration Zone

Build APIs from SQL and NoSQL or Salesforce data sources in seconds. Read the Creating REST APIs white paper, brought to you in partnership with CA Technologies.

Hello, everyone!

Here I will show you 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;

    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 as Binary -->
        <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 as you require after using this Java component.

The Integration Zone is brought to you in partnership with CA Technologies.  Use CA Live API Creator to quickly create complete application backends, with secure APIs and robust application logic, in an easy to use interface.

mulesoft ,mule esb ,component ,java ,custom component

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}