I have a functioning class serverCfgParser
that works perfectly for a single file:
serverCfgParser.parseFile("src/main/resources/static/server_dev_devops_pc.cfg");
I need to change the logic so that multiple files ending with .cfg get processed. I want to pass in a variable instead of a hard coded path. Ill need to loop all files in a given directory and pass those onto serverCfgParser. I have looked at some examples but can get this to work.
File serverConfigs = new File("src/main/resources/static");
File[] files = serverConfigs.listFiles((d, name) -> name.endsWith(".cfg"));
for (File configFile : files) {
System.out.println(configFile);
}
ServerCfgParser serverCfgParser = new ServerCfgParser();
for (File configFile : files) {
Charset encoding = Charset.defaultCharset();
List<String> lines = Files.readAllLines(Paths.get(configFile), encoding);
serverCfgParser.parseFile(configFile);
}
I used the first for loop to prove to test that file paths were being populated correctly.
src\main\resources\static\server_dev_aws_app1.cfg
src\main\resources\static\server_dev_aws_app2.cfg
src\main\resources\static\server_dev_aws_app3.cfg
src\main\resources\static\server_dev_aws_app4.cfg
src\main\resources\static\server_dev_aws_app5.cfg
src\main\resources\static\server_dev_aws_app6.cfg
src\main\resources\static\server_dev_devops_app1.cfg
src\main\resources\static\server_dev_devops_app2.cfg
src\main\resources\static\server_dev_devops_app3.cfg
src\main\resources\static\server_dev_devops_app4.cfg
src\main\resources\static\server_dev_devops_app5.cfg
src\main\resources\static\server_dev_devops_app6.cfg
src\main\resources\static\server_dev_mansible_app5.cfg
src\main\resources\static\server_dev_mansible_app6.cfg
src\main\resources\static\server_test_mansible_app5.cfg
src\main\resources\static\server_test_mansible_app6.cfg
Java is complaining about Paths.get(configFile)
:
The method get(URI) in the type Paths is not applicable for the arguments (File)
I get what it's complaining about, but I'm not sure how to feed in the right parameters. Every example I looked at is as above but for single files only, I have yet to find an example of looping through multiple files.