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