1. import java.io.BufferedReader;
  2. import java.io.FileReader;
  3. import java.io.IOException;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. public class TextFileParser {
  7. public static void main(String[] args) {
  8. if (args.length != 1) {
  9. System.out.println("Usage: java TextFileParser <filename>");
  10. return;
  11. }
  12. String filename = args[0];
  13. List<String> lines = parseFile(filename);
  14. if (lines != null) {
  15. System.out.println("File parsed successfully.");
  16. //Example: Print the first 10 lines
  17. int count = 0;
  18. for (String line : lines) {
  19. System.out.println(line);
  20. count++;
  21. if(count >= 10) break;
  22. }
  23. } else {
  24. System.err.println("Error parsing file: " + filename);
  25. }
  26. }
  27. public static List<String> parseFile(String filename) {
  28. List<String> lines = new ArrayList<>();
  29. try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
  30. String line;
  31. while ((line = reader.readLine()) != null) {
  32. lines.add(line);
  33. }
  34. } catch (IOException e) {
  35. System.err.println("IOException: " + e.getMessage());
  36. return null; // Indicate an error
  37. }
  38. //Sanity checks
  39. if(lines.isEmpty()){
  40. System.out.println("File is empty.");
  41. return lines; //Return empty list, but don't error
  42. }
  43. //Basic sanity check: Check if lines are not empty
  44. for (String line : lines) {
  45. if (line.trim().isEmpty()) {
  46. System.out.println("Warning: Empty line found: " + line);
  47. }
  48. }
  49. return lines;
  50. }
  51. }

Add your comment