我需要能够使用给定的网址解析在线文件中包含的文本,即http://website.com/document.pdf
。
我正在制作一个搜索引擎,它基本上可以告诉我搜索到的单词是否在某个在线文件中,并检索该文件的 URL,因此我不需要下载该文件而只需阅读它。
我一直在寻找一种方法,并发现了一些带有 InputStream
和 OpenConnection
的东西,但并没有真正做到。
我正在使用 jsoup 来爬行网站以检索 URL,并且我尝试使用 Jsoup 方法解析它,但它不起作用。
那么最好的方法是什么?
编辑:
我希望能够做这样的事情:
File in = new File("http://website.com/document.pdf");
Document doc = Jsoup.parse(in, "UTF-8");
System.out.println(doc.toString());
最佳答案
您可以使用 URL 而不是文件来访问 URL。因此,使用 Apache Tika,您应该能够以这种方式获取内容的字符串。
import org.apache.tika.parser.pdf.PDFParser;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.sax.BodyContentHandler;
import org.xml.sax.ContentHandler;
public class URLReader {
public static void main(String[] args) throws Exception {
URL url = new URL("http://website.com/document.pdf");
ContentHandler contenthandler = new BodyContentHandler();
Metadata metadata = new Metadata();
PDFParser pdfparser = new PDFParser();
pdfparser.parse(is, contenthandler, metadata, new ParseContext());
System.out.println(contenthandler.toString());
}
}
关于java - 从 URL 解析 Pdf、txt 或 docx 文件中的文本,无需在 Java 8 中下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29998020/