메뉴 건너뛰기

조회 수 7385 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

//파일을 읽고 쓰기 기능을 이용하여 일반문서를 읽고 암호화 하여
//저장하고 암호화된 문서를 읽고 일반 문서로 변환하는 프로그램 작성하기


 

import java.io.*;
import java.util.*;
 
class soo{
 public static void main(String[] args) throws IOException{
    System.out.println("1번과 2번중 하나를 눌러주세요 1번:파일을 읽고 암호화 합니다. " +
               " 2번:암호화 문서읽고 일반으로 변화합니다." );
    System.out.print(":");
    Scanner scan=new Scanner(System.in);
    int input=scan.nextInt();          //번호 입력할수있다.
  
    FileReader fr=null;
    FileWriter fw=null;
    int secret=3;   // 암호화&복호화 해주려는 값
   
   try{   
      if(input==1){                            //1번 입력  
      System.out.println("일반문서중 불러오고자 하는 문서명을 입력해주세요.ex)test.txt  ");
      System.out.print(":");
      String fileName=new Scanner(System.in).nextLine();  //불러오고자 하는파일명 입력 
      fr=new FileReader(fileName);                       //불러온 파일에서 내용읽어온다.
    
     
      System.out.println("암호화된 파일을 저장할  .txt 명을 입력해주세요. ex)sos.txt");
      System.out.print(":");
      String encryptionFileName=new Scanner(System.in).nextLine();  //불러오고자 하는파일명 입력
      fw=new FileWriter(encryptionFileName);        //암호화될 파일을 만든다.
     
      int data=0;
     
     while((data=fr.read())!=-1){
       data+=secret;   //암호화
       char ch=(char)data;  
       System.out.print(ch);         //암호화 출력    
       fw.write(data);  //암호화된 데이터를 저장한다.        
     }//while
    } //if
     
    else if(input==2){
     System.out.println("암호화 문서만 불러오세요 .ex)sos.txt  ");
     System.out.print(":");
     String fileName=new Scanner(System.in).nextLine();  //불러오고자 하는파일명 입력 
     fr=new FileReader(fileName);              //복호화 문서 파일 내용을 읽어온다.
    
     System.out.println("복호화될 파일을 저장할  .txt 명을 입력해주세요. ex)sos.txt");
      System.out.print(":");
      String encryptionFileName=new Scanner(System.in).nextLine();  //불러오고자 하는파일명 입력
      fw=new FileWriter(encryptionFileName);        //복호화될 파일을 만든다.
     
     int data=0;
     while((data=fr.read())!=-1){
      data-=secret;   //복호화
      char ch=(char)data;  
      System.out.print(ch);         //복호화 출력
      fw.write(data);  //복호화된 데이터를 저장한다.
     
     }//while  
      }  //else if  
   }//try{}
   catch(FileNotFoundException abc){
       System.out.println("파일을 찾을수 없습니다.");
      }
   catch(IOException ee){
  System.out.println("파일 읽을수 없다.");
   }
      finally{
    try{
        fr.close();
        fw.close();  //저장값을 반환해준다.
       }
    catch(Exception ee){}
 
   
       }//finally 닫고
      
 } //main()
 
}  //class


List of Articles
번호 제목 날짜 조회 수
91 간단한 개인홈페이지 만들어보기 file 2016.08.29 4751
90 개인정보 마스킹처리 (휴대폰번호, 이메일) 2018.06.26 3944
89 공통컴포넌트 생성하기 - 게시판 file 2016.09.19 5754
88 국제 시간에 따른 날짜 출력 2020.06.29 121
87 기본적인 스크립트 보안 2019.01.16 6044
86 기존 프로젝트, Table, View 모두 다 삭제하기 file 2016.08.29 4608
85 날짜 시간 포맷 제어 자바 클래스 : JAVA DateUtils Date time file 2016.12.09 5233
84 다양한 문자 조합을 이용한 카운팅 구하기 2016.12.09 4941
83 다형성 file 2016.09.13 3260
82 데몬쓰레드 2016.09.13 3099
81 로그인 컴포넌트 설치시 뷰 생성 에러 해결방법 (ORA-01031: 권한이 불충분합니다) file 2016.08.29 3874
80 문자 기반 스트림 2016.09.13 3440
79 바이트 기반의 스트림 file 2016.09.13 3763
78 배치관리 컴포넌트 생성 후 에러 날 때 해결방법 file 2016.08.29 4267
77 변수의 종류 2016.09.13 3978
76 변환 (문자, 숫자, KSC5601.....) 2019.01.16 1281
75 사용자의 IP를 가져오기 (IPv4) 2020.06.29 1697
74 새로 만든 모듈의 iBatis 쿼리를 새로운 xml 파일에 만들고 싶다면 이렇게 하자. file 2016.08.29 3651
73 새로 만든 모듈의 iBatis 쿼리를 새로운 xml 파일에 만들고 싶다면 이렇게 하자. file 2016.08.29 3773
72 숫자형식 포멧 방법 2018.02.09 2348
Board Pagination Prev 1 2 3 4 5 6 7 8 Next
/ 8

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved