package org.asoware.budget.conv; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; import java.io.FilenameFilter; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import org.apache.commons.io.filefilter.WildcardFilter; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class Converter { private static Log log = LogFactory.getLog(Converter.class); public Converter() { } public void process(File location, String fileFilter) throws IOException { if (!location.exists()) { log.warn("Directory '" + location.getAbsolutePath() + "' does not exist"); } if (location.isDirectory()) { FileFilter filter = new WildcardFilter(fileFilter); File[] fileNames = location.listFiles(filter); for (File fileName : fileNames) { File file = new File(location, fileName.getName()); process(file); } } else { process(location); } log.debug("Finished processing '" + location.getAbsolutePath() + " (" + fileFilter + ")' "); } public void process(File file) throws IOException { log.debug("Start processing '" + file.getAbsolutePath() + "'"); WorkbookProcessor processor = new WorkbookProcessor(file); processor.process(); log.debug("Finished processing '" + file.getAbsolutePath() + "'"); } public static void main(String[] args) { File location = null; String fileFilter = "*.xls"; if (args.length == 0) { location = new File(System.getProperty("user.dir")); } if (args.length >= 1) { location = new File(args[0]); } if (args.length >= 2) { fileFilter = args[1]; } Converter converter = new Converter(); try { converter.process(location, fileFilter); } catch (Exception e) { log.error("Processing error: " + e.getMessage(), e); } } }