我遇到了一个奇怪的错误,我以前从未见过Java。我有一个BufferedReader,我用它来读取.txt文件。我正试图从我的文本文件中的一些行中获取一些文本
@TextType()
@FindBy(xpath = "//label[normalize-space(text())=\"Premium Vehicle Monthly Rate 1\"]/../following-sibling::td[1]//input")
public WebElement PremiumVehicleMonthlyRate1;
我需要获得 Premium Vehicle Monthly Rate 1
以下是相关代码:
public static void main(String[] args) {
//string to hold the product name
String productName = "";
//File object to hold the java source .txt file
File file = new File(args[0]);
int count = 0;
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
if(line.contains("TextType")) {
line = br.readLine();
String subline = line.substring(line.indexOf("\"")+1);
subline = subline.substring(subline.indexOf("\"")+1);
subline = subline.substring(0, subline.indexOf("\"")-1); //COMMENT THIS LINE
System.out.println(subline);
count++;
}
}
br.close();
writer.close();
}catch (Exception e) {
}
System.out.println("Count: " + count);
}
这样做,代码可以工作,但只适用于我列表中的前21个元素。
如果我对代码中的注释行进行注释,那么它适用于我的文本文件中的所有(总共105个“TextType”)元素,但显然不是我正在寻找的子字符串。
发生了什么事?!
答案 0 :(得分:2)
您的数据可能与您预期的不同。我怀疑抛出异常,你会抓住然后忽略它。在catch块中添加e.printStackTrace()
,然后您就会看到错误。