0

我正在尝试使用文件流从 pdf 文件中读取,并且我想以 cp1252 编码格式将其写入写入器。以下是代码:

byte buf[] = new byte[8192];
InputStream is = new FileInputStream(f); 
ByteArrayOutputStream oos = new ByteArrayOutputStream(); 
int c=0; 
while ((c = is.read(buf)) != -1) { 
   oos.write(buf, 0, c); 
}
byte out[] = oos.toByteArray();
String str = oos.toString(out,"UTF-8");
char[] ch = str.toCharArray();
writer.write(ch);
is.close(); 
oos.close();

但是输出是错误的,因为文本不可读(未正确转换)。我该如何解决 ?

4

1 回答 1

0

您可能在尝试读取 PDF 文件时遇到错误。尝试使用PDFBox从 PDF 文件中提取文本。这可能是最好的方法之一。获得所需文本后,您可以使用 cp1252 编码保存它。

您可以从此处查看使用 PDFBox 提取文本的示例

关于转换为 cp1252,如果您使用的是 Windows 机器,则默认编码为 cp1252。因此,简单地尝试保存文本应该有望将其保存为 cp1252 编码。

于 2016-03-30T17:50:32.893 回答