사용자 정의 Java 코드에서 Jsoup을 사용할 때 메소드를 적용할 수 없는 오류

StackOverflow https://stackoverflow.com//questions/25039543

  •  21-12-2019
  •  | 
  •  

문제

Jsoup을 사용하는 데 문제가 있습니다. tJavaRow Talend의 구성 요소입니다.

내 직업은 다음과 같습니다.

Job Layout

을 통해 tLibraryLoad 나는 .jar Jsoup 및 java.io.File 라이브러리용 파일을 만든 다음 해당 파일을 tJavaRow_2 요소:

import java.io.File;
import java.io.File;
import org.jsoup.Jsoup;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

import org.jsoup.select.Elements;

그런 다음 주요 부분에서 다음 코드를 실행해 보십시오. tJavaRow_2:

Document document = Jsoup.parse(new File("C:/Talend/workspace/WEBCRAWLER/output/keywords_" + context.keywordname +".txt", "utf-8");
Document document = Jsoup.parse(new File("C:/Talend/workspace/WEBCRAWLER/output/keywords_" + context.keywordname +".txt", "utf-8");
        Elements el = document.select(".gutter10");
        Elements el = document.select(".gutter10");
        String result = el.text();
        String result = el.text();


        if(result.length() > 20)
        if(result.length() > 20)
            {context.lastpage = true;};

지금까지는 논리적인 것 같습니다.하지만 다음 오류가 발생합니다.

Talend Error

이 문제를 해결하도록 도와주실 수 있나요?이제부터 무엇을 해야 할지 모르겠습니다.

부록:Eclipse에서 작동하는 Java 코드:

import java.io.File;
import java.io.File;
//import java.util.regex.*;
import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class regextest  {

    public static boolean regExChecker() throws IOException 
    {
        boolean x = false;
        Document document = Jsoup.parse(new File("C:/Talend/workspace/WEBCRAWLER/output/absolventa_testquery.txt"), "utf-8");
        Elements el = document.select(".gutter10");
        String result = el.text();

        if(result.length() > 20)
            {x = true;};

        //System.out.println(x);
        return x;
    }

    public static void main(String[] args) throws IOException{
        System.out.println(regExChecker()); 
    }
}
도움이 되었습니까?

해결책

코드 블록에 닫는 괄호가 없습니다.첫 번째 줄은 다음과 같아야 합니다.

Document document = Jsoup.parse(new File("C:/Talend/workspace/WEBCRAWLER/output/keywords_" + context.keywordname +".txt"), "utf-8");

그대로, 경로에서 파일을 작성하고 있습니다. "C:/Talend/workspace/WEBCRAWLER/output/keywords_" + context.keywordname +".txt"), "utf-8" 그런 다음 해당 파일 개체(적절한 파일 개체는 아니지만 어떤 이유로 컴파일러가 이를 발견하지 못함)를 Jsoup의 구문 분석 메서드에 전달합니다.

보고 Jsoup의 문서 단일 값인 구문 분석을 위한 유일한 메소드 호출은 HTML 문서를 문자열로 전달할 때입니다.따라서 문자열을 기대하고 대신 (깨진) 파일을 얻습니다.

두 번째 오류는 VariableInitializer에 대한 닫는 괄호가 누락되었다고 말함으로써 이를 실제로 지적하는 오류입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top