我目前正在尝试制作一个可以对任何类型的文档进行数字签名的应用程序。我根据this tutorial宣布了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);
上给我一个错误。根据整个source of GenSig class,变量应该是String[] args
,所以我无法编译应用程序。我假设问题是字符串的类型,它不是数组,但我不知道哪个数组,File对象中的哪个变量,我在firts行声明,我需要用作输入。
我知道我做错了,不幸的是在Java中我只是初学者所以我需要一些帮助。
我应该将文件对象的哪个变量作为GenSig类的输入插入?
如何使用Java签署文档更简单?
答案 0 :(得分:1)
如果你正在按照教程写信,那么你应该将文件的名称作为参数传递给'签名':
final File file = jFileChooser2.getSelectedFile();
GenSig.main(new String[] {file.getAbsolutePath()});
注意,您实际上不需要创建GenSig
类的实例,因为您正在静态调用main方法。