import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class TextFileParser {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("Usage: java TextFileParser <filename>");
return;
}
String filename = args[0];
List<String> lines = parseFile(filename);
if (lines != null) {
System.out.println("File parsed successfully.");
//Example: Print the first 10 lines
int count = 0;
for (String line : lines) {
System.out.println(line);
count++;
if(count >= 10) break;
}
} else {
System.err.println("Error parsing file: " + filename);
}
}
public static List<String> parseFile(String filename) {
List<String> lines = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
String line;
while ((line = reader.readLine()) != null) {
lines.add(line);
}
} catch (IOException e) {
System.err.println("IOException: " + e.getMessage());
return null; // Indicate an error
}
//Sanity checks
if(lines.isEmpty()){
System.out.println("File is empty.");
return lines; //Return empty list, but don't error
}
//Basic sanity check: Check if lines are not empty
for (String line : lines) {
if (line.trim().isEmpty()) {
System.out.println("Warning: Empty line found: " + line);
}
}
return lines;
}
}
Add your comment