Java, 메모장 파일 만들기

    Java, 메모장 파일 만들기

     

     

     

      메모장 파일 만들기

     데이터의 길이가 일정하지 않으며, 데이터의 길이가 초과될 수도, 없을 수도 있는 상황 속에서 이 데이터를 DB에 넣기에는 매우 안 좋다고 생각되었습니다.

     

    DB의 용량을 1000으로 했을 때, 길이가 100이 될 수도 있는거고, 길이가 1000이 넘을 수 있는 상황도 있을 수 있기 때문입니다.그래서 메모장을 만들어 저장을 한다면, 이런 위험에 대해서 대비 할 수 있고 메모장의 이름만 DB에 저장한다면 가능할지 모른다고 생각하여 만들게 되었습니다.

     

    package test;
    
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    
    public class test02 {
    
    	public static void main(String[] args) throws Exception {
    		
    		String FilePath ="D:/test/test.txt";
    		
    		File file = new File(FilePath);	// File 객체 생성
    		
    		if(file.exists()) {	//파일이 존재하지 않으면
    			file.createNewFile();	//신규 생성
    		}
    		
    		//BufferedWirte 생성
    		BufferedWriter writer = new BufferedWriter(new FileWriter(file, true));
    		
    		//파일에 쓰기
    		writer.write("테스트 1");
    		writer.newLine();
    		writer.write("작은 새의");
    		writer.write(" 날개 짓");
    		
    		//버퍼 및 스트림 뒷정리
    		writer.flush();
    		writer.close();
    	}
    
    }

    원리는 MultiPartRequest와 비슷합니다. 파일의 이름은 앞으로 현재시간과 DB의 시퀀스, 제목을 조합하여 저장하기 때문에 중복될 일을 없애며, 내용은 JSP의 Request를 활용하여 가져와 저장할 예정입니다.

     

      메모장 파일 불러오기

    public static void main(String[] args) throws Exception {
    		
        String FilePath ="D:/test/test.txt";
    
        //File 불러오기
        File file = new File(FilePath);
    
        String load = "";
    
        //파일 존재 확인
        if(file.exists()) {
        BufferedReader reader = new BufferedReader(new FileReader(file));
    
        System.out.println("파일 내용 출력");
        String line;
    
    
        while((line = reader.readLine()) != null) {
        load += line;
        //System.out.println(line);
        }
        reader.close();
        }
        System.out.println(load);
    
    
    }

     메모장의 내용을 불러왔다. readLine() 함수를 사용하는 순간 해당 줄의 내용을 모두 읽어 온다.

    if문에서 이미 한 번 사용했으므로, 그 내용을 load에 옮겨 담았다.

     

     

      마무리

     기본 Java 기능에서 적용 될 수 있어서 개인적으로 매우 감사한 일 입니다.

    또한 복잡한 과정이 섞여있지 않아서 메모장을 통해 DB 내용을 저장하는 방법 또한 가능할 것 같습니다.

     

    반응형

    댓글

    Designed by JB FACTORY