检查java中的文本文件格式

时间:2012-10-21 15:22:19

标签: java

我有代码逐行检查文本文件,但我不确定如何检查特定格式。如果文本文件采用以下格式打印出内容,否则请点击“文件不正确”的消息。

第一行应该以S开头,每行包含任何大写,后跟冒号,而不是任何字母,数字或e。

3 个答案:

答案 0 :(得分:1)

您可以使用regular expressions轻松验证格式:

//first line validator:
String reg1 = "S:[A-Z01e]";
//next lines validator:
String reg2 = "V:[A-Z01e]?[A-Z01e]?[A-Z01e]";

//examples/test cases:
System.out.println("S:1".matches(reg1));
System.out.println("S:3".matches(reg1));
System.out.println("S:11".matches(reg1));

System.out.println("V:1e0".matches(reg2));
System.out.println("V:1e01".matches(reg2));
System.out.println("V:1e3".matches(reg2));

正则表达式是:分别是SV,然后是:,然后是A-Z 0或1或e之间的任何字符。
?表示0或1个重复,因此[A-Z01e]?[A-Z01e]?[A-Z01e]表示1-3个字符,每个A-Z或0或1或e。

答案 1 :(得分:0)

我会在每一行使用charAt(1)

scan.nextLine();
String line = scanner.next();
if(line.charAt(0).equals("S")) {

} else {

}

我很确定它是如何运作的

答案 2 :(得分:0)

您可以使用正则表达式来实现此目的:Regex Trails

例如,要检查V:xxx,您可以使用:

V:[A-Z01e]{3}

大括号中的数字是你想要多少个x。