2012-05-09 51 views
0

我目前正在尝试制作可以数字签名任何类型文档的应用程序。我已经根据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 classString[] args,所以我不能编译应用程序。我假设问题出在字符串的类型上,它不是数组,但我不知道哪个数组,哪个变量来自File对象,我已经在firts行上声明了,我需要用作输入。

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

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

  • 有什么更简单的方法如何在Java中签署文档?

回答

1

如果您遵循本教程的信,那么你应该传递文件的名称是“签约”,作为一个参数:

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

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