Hello There,
I have a keyword which helps me find the last modified file in a specific location:
private File getLatestFileFromDirectory(String dirPath){
File dir = new File(dirPath);
File[] files = dir.listFiles();
if (files == null || files.length == 0) {
return null;
}
File lastModifiedFile = files[0];
for (int i = 1; i < files.length; i++) {
if (lastModifiedFile.lastModified() < files[i].lastModified()) {
lastModifiedFile = files[i];
}
}
return lastModifiedFile;
}
my scenario is i click on a button to download a file, i added a 5 sec delay for it to get downloaded and then i need to get the last file downloaded/Modified.
This is the script + the location of the file:
WebUI.click(findTestObject(“Mon releve bancaire/4.0 Export mes operations/btnTelechargerLesOperations”))
WebUI.delay(5)
Path absolutePath = Paths.get(RunConfiguration.getProjectDir(), “/Data Files”);
LastFileExported=CustomKeywords.‘essentials.getLatestFileFromDirectory.getLatestFileFromDirectory’(absolutePath.toString())
KeywordUtil.logInfo(“Last file received” +LastFileExported)
My problem is that it is outputting the file with its full path I only need the file to check that it actually got downloaded and later on i will delete it by storing it on some variable. The file downloaded has a dynamic name.
This is what i am getting in the console:
Last file received/xxx/xxx/xxxx/xxx/Data Files/_08-02-21_14_48_19.csv
I need only _08-02-21_14_48_19.csv
What can i do to get only the file name?
Thank you