📅  最后修改于: 2023-12-03 14:55:02.147000             🧑  作者: Mango
文件保护程序 JavaFX - Java 是一款 Java 编写的文件保护程序,能够保护用户的文件不被非法使用、篡改和删除。程序基于 JavaFX 技术构建,具有简洁美观的界面和良好的用户体验。该程序支持常见的文件操作,例如添加文件、删除文件、浏览文件、查找文件等。用户可以通过设置密码来保护文件,只有在输入正确的密码后,才能够对文件进行操作。
添加文件:用户可以通过点击“添加文件”按钮,选择要保护的文件,并设置密码进行保护。
删除文件:用户可以选择要删除的文件,并输入正确的密码后,删除被保护的文件。
浏览文件:用户可以通过浏览文件,查看所有被保护的文件列表。
查找文件:用户可以通过关键字搜索所需的文件,节省时间和操作。
设置密码:用户可以为被保护的文件设置密码,确保文件的安全性。
// 添加文件按钮事件处理
btnAdd.setOnAction(event -> {
FileChooser fileChooser = new FileChooser();
// 选择文件
File selectedFile = fileChooser.showOpenDialog(null);
if (selectedFile != null) {
// 设置密码
TextInputDialog dialog = new TextInputDialog();
dialog.setTitle("设置密码");
dialog.setHeaderText(selectedFile.getName());
dialog.setContentText("请输入密码:");
Optional<String> result = dialog.showAndWait();
if (result.isPresent()) {
String password = result.get();
// 加密文件
String fileName = selectedFile.getName();
String fileExtension = fileName.substring(fileName.lastIndexOf("."));
String encryptedFileName = UUID.randomUUID().toString() + fileExtension;
String encryptedFilePath = "./encrypted-files/" + encryptedFileName;
try {
encrypt(selectedFile.getAbsolutePath(), encryptedFilePath, password);
File encryptedFile = new File(encryptedFilePath);
// 添加文件到列表
fileList.add(new FileItem(encryptedFile.getName(), encryptedFilePath, encryptedFile.length(), password));
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
// 删除文件按钮事件处理
btnDelete.setOnAction(event -> {
FileItem selectedFileItem = tableView.getSelectionModel().getSelectedItem();
if (selectedFileItem != null) {
String password = selectedFileItem.getPassword();
// 验证密码
TextInputDialog dialog = new TextInputDialog();
dialog.setTitle("验证密码");
dialog.setHeaderText(selectedFileItem.getFileName());
dialog.setContentText("请输入密码:");
Optional<String> result = dialog.showAndWait();
if (result.isPresent() && result.get().equals(password)) {
String filePath = selectedFileItem.getFilePath();
File encryptedFile = new File(filePath);
// 删除文件
if (encryptedFile.delete()) {
fileList.remove(selectedFileItem);
}
}
}
});
// 查找文件按钮事件处理
btnSearch.setOnAction(event -> {
String keyword = tfSearch.getText().trim();
if (!keyword.isEmpty()) {
ObservableList<FileItem> searchResult = FXCollections.observableArrayList();
for (FileItem fileItem : fileList) {
if (fileItem.getFileName().contains(keyword)) {
searchResult.add(fileItem);
}
}
tableView.setItems(searchResult);
} else {
tableView.setItems(fileList);
}
});
以上是一些核心代码片段,完整代码请查看 GitHub仓库。
文件保护程序 JavaFX - Java 是一款简单易用的文件保护工具,基于 JavaFX 技术实现UI界面,同时利用 Java 语言的文件加密和解密方法,保障用户的私密文件不被破解和盗用。产品具有简约、美观、安全的特点,可以帮助用户高效安全的管理文件和保障文件安全。