You can get all the files from a directory as follows
File mainFolder = new File("C:\\yourDir");
getFiles(mainFolder);
public void getFiles(File f)
{
File files[];
if(f.isFile())
System.out.println(f.getAbsolutePath());
else
{
files = f.listFiles();
for (int i = 0; i < files.length; i++)
{
getFiles(files[i]);
}
}
}
This code just prints the files. You can store it a Set<String>
and then give it to your function. To read from different files you will need to create that many FileReaders.
For example
BufferedReader reader1 = new BufferedReader(new FileReader(new File("file1.txt")));
BufferedReader reader2 = new BufferedReader(new FileReader(new File("file2.txt")));
BufferedReader reader2 = new BufferedReader(new FileReader(new File("file3.txt")));
If you wish to each line from all 3 files at a time I suugest you create an infinite for loop and check if(reader1.readLine()!=null)
for each reader. You can break;
when all all readers return null. Do not forget to close the streams in finally block.
reader1.close();
reader1.close();
reader1.close();