我正在加密我的程序中的一個文件,並在我的桌面上創建一個無擴展名的文件,它完全適用於txt,但是一些擴展名如pdf,rtf正在彈出錯誤消息。我正在嘗試爲選定的文件創建完全相同的文件名。獲取加密文件的文件名
runEncrypt.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
File inputFile = new File(selectedFile.getAbsolutePath());
File encryptedFile = new File("/Users/aktasberk/Desktop/E_"+selectedFile.getName());
try {
String key = "16BitKeyIsHere16";
CryptoUtils.encrypt(key, inputFile, encryptedFile);
// CryptoUtils.decrypt(key, encryptedFile, decryptedFile);
} catch (CryptoException ex) {
System.out.println(ex.getMessage());
ex.printStackTrace();
}
}
});
正如你可以看到我把「E_ + selectedFile.getname()」的工作,我應該怎麼辦得到的只有文件名沒有「E_」,仍然在桌面上創建文件。
謝謝!
你得到的錯誤信息是什麼? –
@ patrick-hainge不在編譯器中,但是當我嘗試從桌面上打開該加密文件時,它顯示一些消息,如「損壞的文件無法打開」,然後我轉到文件首選項並手動刪除其擴展名,它可以這樣工作。 –
那麼,當您加密文件並保留文件擴展名時,相關軟件無法打開該文件。你應該在寫入加密文件之前從文件名中刪除擴展名 – Michael