首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BufferedReader循环错误

BufferedReader循环错误
EN

Stack Overflow用户
提问于 2013-08-15 21:53:35
回答 1查看 91关注 0票数 0

我知道这可能很简单,但我似乎找不到我做错了什么。

我将网页的输出与文本文件的内容进行比较。我有下面的代码,对于来自网页的每一个结果,bufferedreader都会循环一次。一旦我发布了代码和结果,这就不会那么令人困惑了。

代码语言:javascript
复制
String docOne = driver.findElement(By.xpath("/html/body/div[2]/div/div[2]/div/div[4]/div[2]/div/div/div/div/div[2]/div/div/div/h5")).getAttribute("textContent").toString();
String docTwo = driver.findElement(By.xpath("/html/body/div[2]/div/div[2]/div/div[4]/div[2]/div/div/div/div/div[2]/div/div[2]/div/h5")).getAttribute("textContent").toString();
String docThree = driver.findElement(By.xpath("/html/body/div[2]/div/div[2]/div/div[4]/div[2]/div/div/div/div/div[2]/div/div[3]/div/h5")).getAttribute("textContent").toString();
String docFour = driver.findElement(By.xpath("/html/body/div[2]/div/div[2]/div/div[4]/div[2]/div/div/div/div/div[2]/div/div[4]/div/h5")).getAttribute("textContent").toString();
String docFive = driver.findElement(By.xpath("/html/body/div[2]/div/div[2]/div/div[4]/div[2]/div/div/div/div/div[2]/div/div[5]/div/h5")).getAttribute("textContent").toString();
String docSix = driver.findElement(By.xpath("/html/body/div[2]/div/div[2]/div/div[4]/div[2]/div/div/div/div/div[2]/div/div[6]/div/h5")).getAttribute("textContent").toString();
String docSeven = driver.findElement(By.xpath("/html/body/div[2]/div/div[2]/div/div[4]/div[2]/div/div/div/div/div[2]/div/div[7]/div/h5")).getAttribute("textContent").toString();
String docEight = driver.findElement(By.xpath("/html/body/div[2]/div/div[2]/div/div[4]/div[2]/div/div/div/div/div[2]/div/div[8]/div/h5")).getAttribute("textContent").toString();
String docNine = driver.findElement(By.xpath("/html/body/div[2]/div/div[2]/div/div[4]/div[2]/div/div/div[2]/div/div[2]/div/div/div/h5")).getAttribute("textContent").toString();

try (BufferedReader br = new BufferedReader(new FileReader("/Users/vhaislsalisc/Documents/CDWProductionDomainsRequiredDocs.txt"))) {
    String sCurrentLine;


    while ((sCurrentLine = br.readLine()) != null) {

        System.out.println("Webpage: " + docOne + " Required Doc: " + sCurrentLine);
        System.out.println("Webpage: " + docTwo + " Required Doc: " + sCurrentLine);
        System.out.println("Webpage: " + docThree + " Required Doc: " + sCurrentLine);
        System.out.println("Webpage: " + docFour + " Required Doc: " + sCurrentLine);
        System.out.println("Webpage: " + docFive + " Required Doc: " + sCurrentLine);
        System.out.println("Webpage: " + docSix + " Required Doc: " + sCurrentLine);
        System.out.println("Webpage: " + docSeven + " Required Doc: " + sCurrentLine);
        System.out.println("Webpage: " + docEight + " Required Doc: " + sCurrentLine);
        System.out.println("Webpage: " + docNine + " Required Doc: " + sCurrentLine);
    }
    br.close();
} catch (IOException e) {
    System.err.println("Error: " + e.getMessage());
}

结果

代码语言:javascript
复制
Webpage: Research Request Memo (File Document) Required Doc: Research Request Memo (File Document)
Webpage: Research Study Institutional Review Board (IRB) Approval Letter (File Document) Required Doc: Research Request Memo (File Document)
Webpage: Sample Informed Consent and HIPAA Authorization (File Document) Required Doc: Research Request Memo (File Document)
Webpage: Research and Development (RD) Committee Approval Letter (File Document) Required Doc: Research Request Memo (File Document)
Webpage: Data Use Agreement (File Document) Required Doc: Research Request Memo (File Document)
Webpage: IRB Approval of Waiver of HIPAA-Compliant Authorization (File Document) Required Doc: Research Request Memo (File Document)
Webpage: Research Protocol (File Document) Required Doc: Research Request Memo (File Document)
Webpage: CDW-Domain Checklist (File Document) Required Doc: Research Request Memo (File Document)
Webpage: VA Form 9957 (File Document) Required Doc: Research Request Memo (File Document)
Webpage: Research Request Memo (File Document) Required Doc: Research Study Institutional Review Board (IRB) Approval Letter (File Document)
Webpage: Research Study Institutional Review Board (IRB) Approval Letter (File Document) Required Doc: Research Study Institutional Review Board (IRB) Approval Letter (File Document)
Webpage: Sample Informed Consent and HIPAA Authorization (File Document) Required Doc: Research Study Institutional Review Board (IRB) Approval Letter (File Document)
Webpage: Research and Development (RD) Committee Approval Letter (File Document) Required Doc: Research Study Institutional Review Board (IRB) Approval Letter (File Document)
Webpage: Data Use Agreement (File Document) Required Doc: Research Study Institutional Review Board (IRB) Approval Letter (File Document)
Webpage: IRB Approval of Waiver of HIPAA-Compliant Authorization (File Document) Required Doc: Research Study Institutional Review Board (IRB) Approval Letter (File Document)
Webpage: Research Protocol (File Document) Required Doc: Research Study Institutional Review Board (IRB) Approval Letter (File Document)
Webpage: CDW-Domain Checklist (File Document) Required Doc: Research Study Institutional Review Board (IRB) Approval Letter (File Document)
Webpage: VA Form 9957 (File Document) Required Doc: Research Study Institutional Review Board (IRB) Approval Letter (File Document)

等等,通过文件的其余部分

所以,我只是想知道我做了什么,以及我如何修复它,使它只通过文件一次,所有的一切都符合什么是从网页来的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-15 22:24:12

它遍历文本文件中的每一行从docOne到docNine的每一个网页。也就是说,它将所有9个文件与第1行、第2行进行比较,等等。

由于您已经粘贴了从文本文件中读取的前2行,并且它们与前2页相匹配,所以我认为您想要的是每一行只读一次并将其与一个网页进行比较。那么,您需要做的就是在显示每个结果之后,简单地丢失while循环并调用readline:

代码语言:javascript
复制
    sCurrentLine = br.readLine();
    System.out.println("Webpage: " + docOne + " Required Doc: " + sCurrentLine);
    sCurrentLine = br.readLine();
    System.out.println("Webpage: " + docTwo + " Required Doc: " + sCurrentLine);

然而,这将使您的代码更难阅读比它已经是。您应该考虑使用集合(甚至数组)来代替。

按照gparyani的建议编辑,您不需要显式地调用br.close()。这里的详细信息,http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18262525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档