如何使用无效表达式输出名称和行号?

时间:2015-07-21 16:52:53

标签: java file

我需要检查文件中的行(对于某些字符)并显示格式错误的文件和行

Uncorrect expressions:
 note1.txt line 2
 note2.txt line 5

我的错误代码:

 public static void main(String[] args) throws IOException {

    for (int i = 0; i < args.length; i++) {
        File input = new File(args[i]); // convert args to files

        String resultStrings = ConvertToString(input);  // converted to String lines

        for (int k = 0; k < resultStrings.length(); k++) {
            boolean isValid = CheckValid(resultStrings); //true - if necessary char compared, false if not

            if (isValid) {
                System.out.println("");
            } else {
                System.err.println("Uncorrect expressions:" + "\n");
                System.out.println(%wrongfilename% + "line" + %wrongline%);
            }
        }

    }
}

如何获取和输出错误的文件名和错误的行号?

由于

2 个答案:

答案 0 :(得分:0)

你可以这样做 - 像(k + 1)这样的整数表达式会自动转换为字符串。请注意,(k + 1)将匹配用户的期望,因为人数从1开始而不是从0开始计算。

System.out.println("Incorrect expressions:\n");
System.out.println(" " + args[i] + " line " + (k + 1));

答案 1 :(得分:0)

System.err.println("Incorrect expressions:");    
for (int i = 0; i < args.length; i++) {
    String resultStrings = ConvertToString(new File(args[i]));
    for (int k = 0; k < resultStrings.length(); k++)
        if (!CheckValid(resultStrings))
            System.out.println(args[i] + "\tline " + (k+1));
}

我假设您只想在顶部打印“错误的表达式”一次,而不是每次都找到错误的行。此外,这会在文件名和行号之间添加标签,但如果您愿意,只需将"\t"替换为" "即可。