BufferedReader 没有正确迭代
BufferedReader not iterating properly
我 运行 遇到了一个我以前在 Java 中从未见过的奇怪错误。我有一个 BufferedReader,我用它来读取 .txt 文件。我正在尝试从我的文本文件中的几行中获取一些文本
@TextType()
@FindBy(xpath = "//label[normalize-space(text())=\"Premium Vehicle Monthly Rate 1\"]/../following-sibling::td[1]//input")
public WebElement PremiumVehicleMonthlyRate1;
我要抢高级车辆月费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")元素,但显然不是我要查找的子字符串。
这是怎么回事!?
您的数据可能不是您期望的那样。我怀疑抛出异常,您捕获然后忽略。在您的 catch 块中添加 e.printStackTrace()
然后您将看到错误。
我 运行 遇到了一个我以前在 Java 中从未见过的奇怪错误。我有一个 BufferedReader,我用它来读取 .txt 文件。我正在尝试从我的文本文件中的几行中获取一些文本
@TextType()
@FindBy(xpath = "//label[normalize-space(text())=\"Premium Vehicle Monthly Rate 1\"]/../following-sibling::td[1]//input")
public WebElement PremiumVehicleMonthlyRate1;
我要抢高级车辆月费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")元素,但显然不是我要查找的子字符串。
这是怎么回事!?
您的数据可能不是您期望的那样。我怀疑抛出异常,您捕获然后忽略。在您的 catch 块中添加 e.printStackTrace()
然后您将看到错误。