我的 .java 文件由一系列代码组成,每一行的大小都是可变的。.java 文件如下所示:
public class MyC{
public void MyMethod()
{
System.out.println("My method has been accessed");
System.out.println("hi");
String l;
int x=0;
}
}
简而言之,我想做的是扫描 .java 文件中的错误并在字符串中捕获错误。我使用诊断收集器来捕获错误的开始和结束位置。
假设我在第 7 行出错:in x=0; 诊断收集器将返回我的位置,例如发生 143-145 错误。
我也得到了行号,但返回的位置是相对于整个 .java 文件的。因此,使用行号将毫无意义,因为每一行的长度都是可变的,并且位置是相对于整个文件的。很难计算出一条线上误差的实际位置。
如果上一行的最后一个字符没有错误(例如:第 7 行错误:上一行 = 第 6 行),我无法获取上一行最后一个字符的结束位置。
有没有办法让我通过使用 java 文件中的位置(开始和结束)来获取字符串?