0
我正试图将一个大/长的字符串(从磁盘读取的PDF二进制文件)传递到Java应用程序中,并且迄今取得的成功很少。该应用程序在我从本地磁盘读取文件时工作,所以我知道问题与我如何导入数据有关。粗略地说,这就是我正在看的:将长/大字符串作为参数传递给Java应用程序?
我在阅读,在PHP中操纵PDF并使用exec();触摸Java应用程序,这是我在哪里与Java:
作品:
File input = new File("C:\\Users\\Jack\\Downloads\\col_terror.pdf");
document = PDDocument.load(input);
不起作用: PHP:
exec("/path/to/jar/java -jar JavaAppHere.jar $pdf_string",$ouput);
的Java:
public static void main(String[] args) throws Exception {
...
document = PDDocument.load(args[0]);
...
}
我觉得这很简单我不理解将字符串作为参数传递,虽然它有蜜蜂几年后,我已经进入了Java的土地。
您收到的错误是什么?通过调试器运行java代码会发生什么? 'args [0]'的价值是什么? – Matt 2012-08-10 14:22:49
我没有通过调试器运行这个,我在开发机器上测试它,因为我需要看看它在现有应用程序中的行为如何,没有发现可以看到的错误,并且args [0]是二进制pdf字符串。 – jbrain 2012-08-10 14:46:43
Java'args'期待一个字符串,可能是UTF-16。二进制PDF不是任何编码中的字符串。您需要将PDF加载为二进制文件,或者加载到期望PDF的库文件中。 'args []'数组应该包含文本。在你的情况下,可能只是PDF的文件名,而实际的检索是在'main()'方法内完成的。 – rossum 2012-08-10 14:56:36