파일 암호화, 작동 프로세스에는 파일 선택자의 사용이 포함되어야하므로 파일 암호화가 예제로 사용됩니다. 다음 예는 제가 스스로 쓴 파일 암호화입니다.
암호화 인터페이스는 그림에 나와 있습니다.
프로젝트 디렉토리 구조는 그림에 나와 있습니다.
각 파일의 소스 코드는 다음과 같습니다.
mainform.java
com.lidi; import java.awt.*; Body의 여러 요소*/ private jframe mainform = new Jframe ( "txt 파일 암호화"); 해독 된 : "); private jlabel label2 = new Jlabel ("암호화 또는 암호 해독 된 파일 스토리지 위치를 선택하십시오 : "); static jtextfield targetfile = new jtextfield (); // 파일의 텍스트 도메인을 선택하십시오. JBUTTON BUTCYBOWSOURCE = 새로운 JBUTTON ( "브라우즈"); public static jbutton buttondecrypt = new Jbutton ( "decrypt") {컨테이너 컨테이너 = mainform.getContentPane (); mainform.setDefaultCloseOperation (windowconstants.exit_on_close); mainform.set vistbounds .SETBOUNDS (270, 50, 60, 30); 60, 30);* 각 요소에 대한 바인딩 이벤트 모니터링* / buttonbrowsource.addacityListener (new browseacection ()); // 대상 위치에 대한 버튼을 클릭하여 Window ButtonEncrypt.AdDactionListener를 선택하십시오 (새로운 암호화 버튼) buttondecrypt.addactionListener ()는 umentListener ()에 대한 모니터를 바인딩합니다 암호 해독 버튼은 .kcd 파일 인 경우 암호화 버튼이 비활성화됩니다. SONITEDEDIBLE (false) (TargetFile); ADD (ButtonBrowsource);Browseaction.java
com.lidi; import java.awt.action.javax.swing.jfilechooser; {if (e.getSource (). equals (mainform.buttonbrowsource)) {jfilechooser fcdlg = new jfilechooser (); . kcd) ","txt ","kcd "); fcdlg.setfilefileter (필터); int returnval = fcdlg.showopendialog (null); if (returnval == jfilechooser. approve_opting) {String felepath = fcdlg.getSelectful (). getPath (); mainform.sourcefile.settext (filepath);}} else if (e.getSource (). als (mainform.buttonbrowsetarget) {jfilechooser fcdlg = new jfilechooser (); fcdlg.setDialogtitle ( "암호화 또는 decrypted를 선택하십시오. 파일 스토리지 디렉토리 "); alog (null); if (returnVal == jfileChooser.Approve_Opting) {String filePath = fcdlg.getSelectFile (). getPath (); mainform.targetFile.settext (filepath);}}}}}}암호화. 자바
com.lidi; import Java.file; Swing.joptingpane; 공개 클래스 암호화는 ActionListener를 구현합니다 {@override public void actionperformed e) {// uto-generatd 메소드 스터브 if (mainform.sourcefile.getText ()) {jobpane.showmessagedialog (null,” 암호화 할 파일을 선택하십시오! ");} else if (mainform.targetfile.gettext (). isempty ()) {jobpane.showMessagedialog (null,"암호화 된 파일 스토리지 디렉토리를 선택하십시오! ");} else {string sourcepath = mainform.sourcefile.getText () targetpath.targetfile.getText (); {file result = 새 파일 (getFinalFile (targetpath, filename)); if (! result.exist ()) {try {try.createnewf iLe (ioException e1) {jobPane.showMessagedIalog (NULL, "대상 파일). 생성이 실패했습니다. 디렉토리가 읽는 지 확인하십시오! ");}} try {filereader fr = new FilerEreader (파일); filewriter fw = new FileWriter (결과); int ch = 0; space ((ch = fr.read ()) {// system .out.print (CH);} fw.close (); (null, "알 수없는 오류!");} else if (! file.exist ()) {jobpane.showMessagedialog (null, "here!");} else {jobpane .showMessagedEdialog (null, "파일 스토리지 디렉토리는 그렇지 않습니다. 암호화 된 파일 후에 존재합니다! ");}} public char encrypt (int ch) {int x = ch + 1; return (char) (x);} public String 파일 (String targetpath, String filename) {int longth = filename. length (); Stringfilename = filename.substring (0, length -4);암호 결정. 자바
com.lidi; import Java.file; swing.joptingpane; 공개 클래스 암호 결정은 ActionListener를 구현합니다. 해독 될 파일을 선택하십시오! ");} else if (mainform.targetfile.getText (). isempty ()) {jobPane.showMessageDialog ("null, "해독 파일 스토리지 디렉토리를 선택하십시오!");} else {string sourcepath = mainform.sourcefile.getText (); ) {file result = 새 파일 (GetFinalFile (TargetPath, Filename)); if (! result.exist ()) {try {try.createnewf il (ioxception e1) {jobpane.showmessagedialog (null, "objection. 파일 생성이 실패했습니다. 디렉토리가 읽는 지 확인하십시오! ");}} try {filereader fr = new FilerEreader (파일); filewriter fw = new FileWriter (결과); int ch = 0; space ((ch = fr.read ()) {// system .out.print (CH);} fw.close (); null, "알 수없는 오류!");} else if (! file.exist ()) {jobpane.showMessagedialog (null, "here!");} else {jobpane .showMessagedEdialog (null, "파일 스토리지의 파일 스토리지 존재하지 않습니다! ");}} public Charg (int ch) {// double x = 0 -math.pow (ch, 2); int x = ch -1 1; return (char) (x);} 공개 String getFinalFile (String TargetPath, String filename) {int length = length (); FinalFile;}}TextFieldAction.java
com.lidi; import javax.swing.event.documentevent; 공개 클래스 텍스트 필드는 {@override public void insertupdate (documentevent e) {// a auto-generalted mettonust (); @override public void removeUpdate (documentevent e) {// todo auto-generant method stub buttonajust () {// todo auto-le. sourcefile.getText (); if (file.endswith ( "txt") {mainform.buttondecrypt.setenabled (false); mainform.button alcrypt.setenabled (true);} if (file. endswith ( "kcd")) .ButtonEncrypt.SetEnabled (false); buttondecrypt.setenabled (true);}}}위는이 기사의 모든 내용입니다.