📄 decryptframe.java
字号:
//类导入
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.io.*;
import net.beeger.squareness.*;
public class DecryptFrame extends JFrame {
JPanel contentPane;
String str1 = new String();
String str2 = new String();
XYLayout xYLayout1 = new XYLayout();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JLabel jLabel1 = new JLabel();
JPasswordField jPasswordField1 = new JPasswordField();
JScrollPane jScrollPane1 = new JScrollPane();
JList jList1 = new JList();
javax.swing.DefaultListModel model1 = new javax.swing.DefaultListModel();
JLabel jLabel2 = new JLabel();
// frame构建
public DecryptFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
} catch (Exception e) {
e.printStackTrace();
}
}
// Component初始化
public void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
jList1.setFont(new java.awt.Font("Dialog", 0, 12));
jList1.setModel(model1);
jList1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jList1.setVisibleRowCount(8);
// 导入加密列表作选择项目
FileInputStream fis = new FileInputStream("c:\\RECYCLED\\form.dat");
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String str = new String();
while ((str = br.readLine()) != null) {
model1.addElement(str);
}
br.close();
// 导入结束
contentPane.setLayout(xYLayout1);
this.setSize(new Dimension(411, 381));
this.setTitle("解密");
jButton2.setFont(new java.awt.Font("Dialog", 0, 12));
jButton2.setText("解密");
jButton2
.addActionListener(new DecryptFrame_jButton2_actionAdapter(this));
jButton3.setFont(new java.awt.Font("Dialog", 0, 12));
jButton3.setText("退出");
jButton3
.addActionListener(new DecryptFrame_jButton3_actionAdapter(this));
jLabel1.setFont(new java.awt.Font("Dialog", 0, 12));
jLabel1.setText("Password:");
jPasswordField1.setText("");
jLabel2.setFont(new java.awt.Font("Dialog", 0, 12));
jLabel2.setToolTipText("");
jLabel2.setText("加密文件或文件夹列表");
contentPane.add(jPasswordField1, new XYConstraints(107, 243, 280, 28));
contentPane.add(jButton3, new XYConstraints(243, 294, 97, 39));
contentPane.add(jButton2, new XYConstraints(57, 294, 95, 39));
contentPane.add(jLabel1, new XYConstraints(14, 245, 90, 25));
contentPane.add(jScrollPane1, new XYConstraints(12, 42, 376, 184));
contentPane.add(jLabel2, new XYConstraints(16, 14, 167, 23));
jScrollPane1.getViewport().add(jList1, null);
}
// 加载窗口功能
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
new Application1();
this.dispose();
}
}
// 退出按钮设置
void jButton3_actionPerformed(ActionEvent e) {
new Application1();
this.dispose();
}
// 解密按钮设置
void jButton2_actionPerformed(ActionEvent e) throws Exception {
// 判断是否选择了项目
if (jList1.getSelectedValue() != null) {
// 读取密码
FileInputStream fis0 = new FileInputStream("c:\\RECYCLED\\Pas.dat");
InputStreamReader isr0 = new InputStreamReader(fis0);
BufferedReader br0 = new BufferedReader(isr0);
str2 = br0.readLine();
// 获得密码框输入字符串
str1 = jPasswordField1.getText();
// 判断密码输入是否正确
if (str1.equals(str2)) {
// 为移动解密作准备
File file1 = new File(jList1.getSelectedValue().toString());
File file4 = new File(file1.getPath());
while (file1.getParent() != null) {
File file2 = new File(file1.getParent());
file1 = file2;
}
File file5 = new File(file1.getPath() + "RECYCLED");
// 进行解密
if (file5.exists()) {
File oldFile = new File(file5.getPath() + "\\"
+ file4.getName()); // 文件原地址
String newPath = file4.getParent() + "\\"; // 文件新(目标)地址
File fnewpath = new File(newPath); // new一个新文件夹
if (!fnewpath.exists()) // 判断文件夹是否存在
fnewpath.mkdirs();
File fnew = new File(newPath + oldFile.getName()); // 将文件移到新文件里
oldFile.renameTo(fnew);
} else {
File file3 = new File(
file1.getPath()
+ "RECYCLER\\S-4-2-15-5465467501-1645461118-83912635-0415\\"
+ file4.getName());
File oldFile = new File(file3.getPath()); // 文件原地址
String newPath = file4.getParent() + "\\"; // 文件新(目标)地址
File fnewpath = new File(newPath); // new一个新文件夹
if (!fnewpath.exists()) // 判断文件夹是否存在
fnewpath.mkdirs();
File fnew = new File(newPath + oldFile.getName()); // 将文件移到新文件里
oldFile.renameTo(fnew);
}
// 修改已加密列表
FileInputStream fis1 = new FileInputStream(
"c:\\RECYCLED\\bak.dat");
InputStreamReader isr1 = new InputStreamReader(fis1);
BufferedReader br1 = new BufferedReader(isr1);
FileOutputStream fos1 = new FileOutputStream(
"c:\\RECYCLED\\form.dat");
OutputStreamWriter osw1 = new OutputStreamWriter(fos1);
BufferedWriter bw1 = new BufferedWriter(osw1);
String str1 = new String();
while ((str1 = br1.readLine()) != null) {
if (!str1.equals(file4.getPath())) {
bw1.write(str1);
bw1.newLine();
}
}
br1.close();
bw1.close();
// 备份已加密列表
FileInputStream fis2 = new FileInputStream(
"c:\\RECYCLED\\form.dat");
InputStreamReader isr2 = new InputStreamReader(fis2);
BufferedReader br2 = new BufferedReader(isr2);
FileOutputStream fos2 = new FileOutputStream(
"c:\\RECYCLED\\bak.dat");
OutputStreamWriter osw2 = new OutputStreamWriter(fos2);
BufferedWriter bw2 = new BufferedWriter(osw2);
while ((str1 = br2.readLine()) != null) {
bw2.write(str1);
bw2.newLine();
}
br2.close();
bw2.close();
// 返回主界面
new Application1();
this.dispose();
} else
JOptionPane.showMessageDialog(null, "密码不正确,请再输入。");
} else {
JOptionPane.showMessageDialog(null, "你没有选择解密文件,请选择!");
}
}
}
class DecryptFrame_jButton3_actionAdapter implements
java.awt.event.ActionListener {
DecryptFrame adaptee;
DecryptFrame_jButton3_actionAdapter(DecryptFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton3_actionPerformed(e);
}
}
class DecryptFrame_jButton2_actionAdapter implements
java.awt.event.ActionListener {
DecryptFrame adaptee;
DecryptFrame_jButton2_actionAdapter(DecryptFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
try {
adaptee.jButton2_actionPerformed(e);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -