Batch processing in J2EE world has a weak story, as J2EE containers are designed to develop server side logic. J2EE specification addressed the needs of flat file processing using JCA (Java Connector Architecture).
In IBM suite of products WebSphere Adapter for Flat files, is one such solution to process the flat files. In open source ServiceMix has a component using JBI file binding. I have not personally experienced on how far these two technologies will scale to real needs in bulk processing of flat files.
The custom build solution would like below.

The custom resource adapter developed using Java Connector Architecture would poll for files and process (do necessary data transformation). The RA (resource adapter) would then call the respective business process either using a JMS protocol or simple EJB call. The core business can be implemented in EJB or BPEL.
The above solution would suite for J2EE world, but resource adapter would be able to use J2EE API's or transactions in the J2EE sense, or data sources defined in container. The management of threads resources, transactions are still with the RA developer, and makes more difficulties than giving a simple straight forward solution. Often programmers tend to write File IO in EJB's to give simple workable solution (though file IO not recommended in EJB's by J2EE Spec).
The simple implementation is to delegate, file processing to an external product (like WebSphere Transformation Extender, or custom application using MQ/Messaging), and invoke the business process in asynchronous fashion. The low level file processing can be well handled and wired to business process using standards like JMS.