import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class ConfigFilePaginator {
private final String configDir;
private final int pageSize;
public ConfigFilePaginator(String configDir, int pageSize) {
this.configDir = configDir;
this.pageSize = pageSize;
}
public List<String> getFiles(int pageNumber) {
// Calculate the starting and ending indices for the current page
int start = (pageNumber - 1) * pageSize;
int end = start + pageSize;
List<String> files = new ArrayList<>();
File configDirFile = new File(configDir);
if (!configDirFile.exists() || !configDirFile.isDirectory()) {
System.err.println("Error: Config directory does not exist or is not a directory: " + configDir);
return files; // Return empty list on error
}
File[] filesInDir = configDirFile.listFiles();
if (filesInDir == null) {
System.err.println("Error: Could not list files in directory: " + configDir);
return files; //Return empty list on error
}
int fileIndex = 0;
for (File file : filesInDir) {
if (file.isFile() && file.getName().endsWith(".conf")) {
if (fileIndex >= start && fileIndex < end) {
files.add(file.getAbsolutePath());
}
}
fileIndex++;
}
return files;
}
public static void main(String[] args) {
// Example Usage
String configDirectory = "/path/to/your/config/files"; // Replace with your config directory
int pageSize = 5;
ConfigFilePaginator paginator = new ConfigFilePaginator(configDirectory, pageSize);
for (int page = 1; ; page++) {
List<String> files = paginator.getFiles(page);
System.out.println("Page " + page + ":");
if (files.isEmpty()) {
System.out.println("No files found.");
break;
}
for (String file : files) {
System.out.println(file);
}
System.out.println();
}
}
}
Add your comment