0

我目前正在尝试制作一个可以对任何类型的文档进行数字签名的应用程序。我已经根据本教程声明了 GenSig 类。但是在我的应用程序中应该有用于文件输入的 GUI。所以我有;

File file = jFileChooser2.getSelectedFile();

FileInputStream fin = new FileInputStream(file);
byte fileContent[] = new byte[(int)file.length()];
fin.read(fileContent);            

String strFileContent = new String(fileContent);           

GenSig gensig = new GenSig();        
GenSig.main(strFileContent); 

它在网上给我一个错误,GenSig.main(strFileContent);变量应该String[] args根据GenSig 类的整个源代码,所以我无法编译应用程序。我假设问题出在字符串的类型上,它不是数组,但我不知道哪个数组,来自 File 对象的哪个变量,我已经在第一行声明了,我需要用作输入。

我知道我做错了什么,不幸的是在 Java 中我只是初学者,所以我需要一些帮助。

  • 我应该从文件对象中插入什么变量作为 GenSig 类的输入?

  • 有没有更简单的方法可以在 Java 中签署文档?

4

1 回答 1

1

如果您按照本教程进行操作,那么您应该将要“签名”的文件名作为参数传递:

final File file = jFileChooser2.getSelectedFile();
GenSig.main(new String[] {file.getAbsolutePath()});

请注意,您实际上不需要创建GenSig类的实例,因为您正在静态调用 main 方法。

于 2012-05-09T20:25:31.787 回答