2012-05-09 2 views
0

В настоящее время я пытаюсь сделать приложение, которое может подписать цифровой документ любого типа. Я объявил класс GenSig в соответствии с this tutorial. Однако в моем приложении должен быть 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 согласно всем source of GenSig class поэтому я не могу скомпилировать приложение. Я предполагаю, что проблема в типе строки, это не массив, но я не знаю, какой массив, какая переменная из объекта File, я объявлял на линии firts, мне нужно использовать в качестве входных данных.

Я знаю, что я делаю что-то не так, к сожалению, в Java Я просто начинающий, поэтому мне нужна помощь.

  • Что переменная из файлового объекта я должен вставить в качестве входных данных для класса GenSig?

  • Есть ли более простой способ подписания документов на Java?

ответ

1

Если вы после урока к письму, то вы должны передать имя файла, который будет «подписан», в качестве аргумента:

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

Примечание, вы не на самом деле нужно создать экземпляр вашего класса GenSig, так как вы вызываете основной метод статически.

Смежные вопросы