java图形界面加密系统_JAVA记事本的图形用户界面应用程序含加密

这是一个使用JAVA实现的记事本图形用户界面应用程序,包含新建、打开、保存和退出功能。文章重点介绍了如何通过读取和写入文件,并对字符进行加密和解密操作,来实现文本的加密保存。用户可以编辑文本,程序会将内容加密后存储到指定的文件中,提供了一定的数据安全性。
摘要由CSDN通过智能技术生成

importjava.awt.EventQueue;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjavax.swing.JFrame;importjava.awt.BorderLayout;importjavax.swing.JPanel;importjavax.swing.JMenuBar;importjavax.swing.JMenu;importjavax.swing.JMenuItem;importjavax.swing.JSeparator;importjavax.swing.JTextArea;importjavax.xml.transform.Templates;/**记事本的图形用户界面应用程序 加密

*@author李祖林

*2017-6-22*/

public class Note2 implementsActionListener{privateJFrame frame;

JMenuItem New,Open,Save,Close;//四个菜单栏

JTextArea textArea; //输入框

File flieName = new File("D://file.txt"); //默认文件路径

public static voidmain(String[] args) {

EventQueue.invokeLater(newRunnable() {public voidrun() {try{

Note2 window= newNote2();

window.frame.setVisible(true);

}catch(Exception e) {

e.printStackTrace();

}

}

});

}publicNote2() {

frame= newJFrame();

frame.setBounds(100, 100, 567, 350);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().setLayout(new BorderLayout(0, 0));

textArea= newJTextArea();

frame.getContentPane().add(textArea, BorderLayout.CENTER);

JMenuBar menuBar= newJMenuBar();

frame.getContentPane().add(menuBar, BorderLayout.NORTH);

JMenu menu= new JMenu("\u6587\u4EF6");

menuBar.add(menu);

New= new JMenuItem("\u65B0\u5EFA");

menu.add(New);New.addActionListener(this);

Open= new JMenuItem("\u6253\u5F00");

menu.add(Open);Open.addActionListener(this);

Save= new JMenuItem("\u4FDD\u5B58");

menu.add(Save);Save.addActionListener(this);

JSeparator separator= newJSeparator();

menu.add(separator);

Close= new JMenuItem("\u9000\u51FA");

menu.add(Close);Close.addActionListener(this);

}public voidactionPerformed(ActionEvent e) {if(e.getSource() ==New){

textArea.setText("");

}else if(e.getSource() ==Open){

textArea.setText("");

readFile();

}else if(e.getSource() ==Save){

saveFile();

}else{

System.exit(0);

}

}/*解码的过程*/

public voidreadFile(){try{

BufferedReader bufferedReader= new BufferedReader(newFileReader(flieName));

String text;//每行字符串

char[] ch = new char[1024]; //字符数组

int tmp; //字符的ASCII码值

while((text = bufferedReader.readLine())!=null){

ch= text.toCharArray(); //字符串->字符数组

for(int i = 0;i < ch.length;i++){

tmp= (int)ch[i] - 30; //解密

if(tmp<0){

tmp+= 127;

}

ch[i]= (char)tmp; //转化为字符

}

text= String.valueOf(ch); //转化为字符串

textArea.append(text);

}

bufferedReader.close();

}catch(IOException e) {

System.err.println("读取文件发生错误!");

}

}/*加密的过程*/

public voidsaveFile(){try{

BufferedWriter bufferedWriter= new BufferedWriter(newFileWriter(flieName));

String string= textArea.getText(); //获取文本框内容

char[] ch = new char[1024]; //字符数组

int tmp; //字符的ASCII码值

ch = string.toCharArray(); //字符串->字符数组

for(int i = 0;i < string.length();i++){

tmp= (int)ch[i] + 30; //加密:ASCII+30(<=127)

if(tmp>127)

tmp-= 127;

ch[i]= (char)tmp;

}

string= String.valueOf(ch); //转化成字符串的两种方式

/*两种方式:string = ch.toString();*/bufferedWriter.write(string);//写入

bufferedWriter.close();

}catch(IOException e) {

System.err.println("写入文件错误!");

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值