📄 filede.java
字号:
//
//
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class FileDE extends JFrame
{
private JButton btn_exit,btn_deCipher,btn_enCipher,btn_MakeKey;//定义按钮
public FileDE()
{
//初始化面板
super("文件加密解密程序");//设置标题文字
Container container = getContentPane();
container.setLayout(new FlowLayout());
//初始化按钮
btn_deCipher=new JButton();
btn_deCipher.setText("制作密钥");
btn_enCipher=new JButton();
btn_enCipher.setText("加密文件");
btn_MakeKey=new JButton();
btn_MakeKey.setText("解密文件");
btn_exit=new JButton();
btn_exit.setText("退出");
//向面板插入按钮
container.add( btn_deCipher );
container.add( btn_enCipher );
container.add( btn_MakeKey );
container.add( btn_exit );
//给按钮添加事件监听
ButtonHandler handler = new ButtonHandler();
btn_deCipher.addActionListener( handler );
btn_enCipher.addActionListener( handler );
btn_MakeKey.addActionListener ( handler );
btn_exit.addActionListener ( handler );
setSize(150,200);
setVisible(true);
}
public static void main(String args[])
{
//生成应用程序框架
FileDE application = new FileDE();
//应用程序退出方式
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//按钮事件监听
public class ButtonHandler implements ActionListener
{
public void actionPerformed( ActionEvent event )
{
//按下的是 制作密钥 按钮
if(event.getActionCommand()=="制作密钥")
{
///////////////////////////part 1 /////////////////////////////
//生成makekey对象并初始化
makekey m_makekey=new makekey();
///////////////////////////part 2 /////////////////////////////
//弹出保存公钥文件对话框
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
fileChooser.setDialogTitle("请选择公钥存放的文件");
int result = fileChooser.showSaveDialog(null);
//获取文件名
if( result == JFileChooser.CANCEL_OPTION)
return;
File filename = fileChooser.getSelectedFile();
//把公钥写入文件
m_makekey.saveEtofile(filename.getPath());
//////////////////////////part 3 //////////////////////////////
//弹出保存私钥文件对话框
fileChooser.setDialogTitle("请选择私钥存放的文件");
result = fileChooser.showSaveDialog(null);
//获取文件名
if( result == JFileChooser.CANCEL_OPTION)
return;
filename = fileChooser.getSelectedFile();
//把私钥写入文件
m_makekey.saveDtofile(filename.getPath());
}
//按下的是 加密文件 按钮
else if(event.getActionCommand() == "加密文件")
{
//////////////////////////part 1 ///////////////////////////////
//弹出打开加密文件对话框
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
fileChooser.setDialogTitle("请选择要加密的文件");
int result = fileChooser.showOpenDialog(null);
//获取文件名
if( result == JFileChooser.CANCEL_OPTION)
return;
File enfilename = fileChooser.getSelectedFile();
/////////////////////////part 2 ////////////////////////////////
//弹出选择公钥文件对话框
fileChooser.setDialogTitle("请选择公钥文件");
result = fileChooser.showOpenDialog(null);
//获取文件名
if( result == JFileChooser.CANCEL_OPTION)
return;
File keyfilename = fileChooser.getSelectedFile();
/////////////////////////part 3 ////////////////////////////////
//弹出选择加密输出的文件对话框
fileChooser.setDialogTitle("请选择要加密后的输出文件");
result = fileChooser.showSaveDialog(null);
//获取文件名
if( result == JFileChooser.CANCEL_OPTION)
return;
File outfilename = fileChooser.getSelectedFile();
/////////////////////////part 4 ////////////////////////////////
//加密并输出文件
enCipher m_enCipher = new enCipher(
enfilename.getPath (),
keyfilename.getPath(),
outfilename.getPath() );
}
//按下的是 解密文件 按钮
else if(event.getActionCommand() == "解密文件")
{
//////////////////////////part 1 ///////////////////////////////
//弹出打开解密文件对话框
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
fileChooser.setDialogTitle("请选择要解密的文件");
int result = fileChooser.showOpenDialog(null);
//获取文件名
if( result == JFileChooser.CANCEL_OPTION)
return;
File defilename = fileChooser.getSelectedFile();
/////////////////////////part 2 ////////////////////////////////
//弹出选择私钥文件对话框
fileChooser.setDialogTitle("请选择私钥文件");
result = fileChooser.showOpenDialog(null);
//获取文件名
if( result == JFileChooser.CANCEL_OPTION)
return;
File pkeyfilename = fileChooser.getSelectedFile();
/////////////////////////part 3 ////////////////////////////////
//弹出选择解密输出的文件对话框
fileChooser.setDialogTitle("请选择解密后的输出文件");
result = fileChooser.showSaveDialog(null);
//获取文件名
if( result == JFileChooser.CANCEL_OPTION)
return;
File outfilename = fileChooser.getSelectedFile();
/////////////////////////part 4 ////////////////////////////////
//解密并输出文件
deCipher m_deCipher = new deCipher(
defilename.getPath (),
pkeyfilename.getPath(),
outfilename.getPath() );
}
else if(event.getActionCommand() == "退出")
{
System.exit(0);
}
//JOptionPane.showMessageDialog(FileDE.this,"press"+event.getActionCommand());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -