你需要用到PDFbox api
https://pdfbox.apache.org/1.8/cookbook/textextraction.html
例子如下
import java.io.Fileimport java.io.IOException
import org.apache.pdfbox.pdmodel.PDDocument
import org.apache.pdfbox.text.PDFTextStripper
import org.apache.pdfbox.text.PDFTextStripperByArea
try {
PDDocument document = null
document = PDDocument.load(new File("test.pdf"))
document.getClass()
if (!document.isEncrypted()) {
PDFTextStripperByArea stripper = new PDFTextStripperByArea()
stripper.setSortByPosition(true)
PDFTextStripper Tstripper = new PDFTextStripper()
String st = Tstripper.getText(document)
System.out.println("Text:" + st)
}
} catch (Exception e) {
e.printStackTrace()
}
题主问的是java文件流读取pdf文件读到一半返回-1是什么意思?达到了流的结尾。返回-1是到达的意思,java文件流读取pdf文件读到一半返回-1意味着已经达到了流的结尾,因此在该流中没有更多内容可以阅读,需要重新打开。
java是一种计算机编程语言,拥有跨平台,面向对象,泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发,任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言。