記載するコードを、効率性/可読性/保守性の3つの観点から100点満点で採点してください。
'''
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class ReadFirstLine {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("Usage: java ReadFirstLine <file-path>");
System.exit(1);
}
String filePath = args[0];
File file = new File(filePath);
// ファイルの拡張子を確認する
if (!getFileExtension(file).equals("txt")) {
System.out.println("Error: Only .txt files are supported.");
System.exit(1);
}
// .txtファイルの最初の行を読み込んで表示する
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String firstLine = br.readLine();
if (firstLine != null) {
System.out.println(firstLine);
} else {
System.out.println("The file is empty.");
}
} catch (IOException e) {
System.out.println("Error reading the file: " + e.getMessage());
System.exit(1);
}
}
// ファイルの拡張子を取得するメソッド
private static String getFileExtension(File file) {
String fileName = file.getName();
if (fileName.lastIndexOf(".") != -1 && fileName.lastIndexOf(".") != 0) {
return fileName.substring(fileName.lastIndexOf(".") + 1);
} else {
return "";
}
}
}
'''