1. import java.io.File;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. public class ConfigFilePaginator {
  5. private final String configDir;
  6. private final int pageSize;
  7. public ConfigFilePaginator(String configDir, int pageSize) {
  8. this.configDir = configDir;
  9. this.pageSize = pageSize;
  10. }
  11. public List<String> getFiles(int pageNumber) {
  12. // Calculate the starting and ending indices for the current page
  13. int start = (pageNumber - 1) * pageSize;
  14. int end = start + pageSize;
  15. List<String> files = new ArrayList<>();
  16. File configDirFile = new File(configDir);
  17. if (!configDirFile.exists() || !configDirFile.isDirectory()) {
  18. System.err.println("Error: Config directory does not exist or is not a directory: " + configDir);
  19. return files; // Return empty list on error
  20. }
  21. File[] filesInDir = configDirFile.listFiles();
  22. if (filesInDir == null) {
  23. System.err.println("Error: Could not list files in directory: " + configDir);
  24. return files; //Return empty list on error
  25. }
  26. int fileIndex = 0;
  27. for (File file : filesInDir) {
  28. if (file.isFile() && file.getName().endsWith(".conf")) {
  29. if (fileIndex >= start && fileIndex < end) {
  30. files.add(file.getAbsolutePath());
  31. }
  32. }
  33. fileIndex++;
  34. }
  35. return files;
  36. }
  37. public static void main(String[] args) {
  38. // Example Usage
  39. String configDirectory = "/path/to/your/config/files"; // Replace with your config directory
  40. int pageSize = 5;
  41. ConfigFilePaginator paginator = new ConfigFilePaginator(configDirectory, pageSize);
  42. for (int page = 1; ; page++) {
  43. List<String> files = paginator.getFiles(page);
  44. System.out.println("Page " + page + ":");
  45. if (files.isEmpty()) {
  46. System.out.println("No files found.");
  47. break;
  48. }
  49. for (String file : files) {
  50. System.out.println(file);
  51. }
  52. System.out.println();
  53. }
  54. }
  55. }

Add your comment