diff --git a/src/main/java/com/rusefi/can/ConvertTrcToMegaLogViewerWithDBC.java b/src/main/java/com/rusefi/can/ConvertTrcToMegaLogViewerWithDBC.java index 7f4b423..48772b8 100644 --- a/src/main/java/com/rusefi/can/ConvertTrcToMegaLogViewerWithDBC.java +++ b/src/main/java/com/rusefi/can/ConvertTrcToMegaLogViewerWithDBC.java @@ -2,11 +2,11 @@ package com.rusefi.can; import com.rusefi.can.reader.CANLineReader; import com.rusefi.can.reader.dbc.DbcFile; +import com.rusefi.util.FolderUtil; import java.io.File; import java.io.IOException; import java.util.List; -import java.util.Objects; public class ConvertTrcToMegaLogViewerWithDBC { public static void doJob(String dbcFileName, String inputFolderName, String outputFolder) throws IOException { @@ -15,18 +15,15 @@ public class ConvertTrcToMegaLogViewerWithDBC { System.out.println("inputFolderName " + inputFolderName); System.out.println("outputFolder " + outputFolder); - File inputFolder = new File(inputFolderName); - for (String inputFile : Objects.requireNonNull(inputFolder.list((dir, name) -> name.endsWith(".trc")))) { - System.out.println("Handling " + inputFile); + FolderUtil.FileAction fileAction = (simpleFileName, fullFileName) -> { + List packets = CANLineReader.getReader().readFile(fullFileName); - String fullInputFile = inputFolderName + File.separator + inputFile; - - List packets = CANLineReader.getReader().readFile(fullInputFile); - - String outputFileName = outputFolder + File.separator + inputFile + ".mlg"; + String outputFileName = outputFolder + File.separator + simpleFileName + ".mlg"; LoggingStrategy.writeLog(dbc, packets, outputFileName); - } - } + }; + + FolderUtil.handleFolder(inputFolderName, fileAction); + } } diff --git a/src/main/java/com/rusefi/util/FolderUtil.java b/src/main/java/com/rusefi/util/FolderUtil.java new file mode 100644 index 0000000..21a6765 --- /dev/null +++ b/src/main/java/com/rusefi/util/FolderUtil.java @@ -0,0 +1,21 @@ +package com.rusefi.util; + +import java.io.File; +import java.io.IOException; +import java.util.Objects; + +public class FolderUtil { + public static void handleFolder(String inputFolderName, FileAction fileAction) throws IOException { + File inputFolder = new File(inputFolderName); + for (String simpleFileName : Objects.requireNonNull(inputFolder.list((dir, name) -> name.endsWith(".trc")))) { + System.out.println("Handling input file " + simpleFileName); + String fullInputFile = inputFolderName + File.separator + simpleFileName; + + fileAction.doJob(simpleFileName, fullInputFile); + } + } + + public interface FileAction { + void doJob(String simpleFileName, String fullFileName) throws IOException; + } +}