본문 바로가기

IT, 인터넷/JAVA, 스프링부트

자바 BufferedWriter, FileWriter, File를 이용해서 파일 생성 및 삭제하기

반응형

FileWriter만 이용을 해서 파일을 생성을 하면 성능이 좀 안좋은 경향이 있다.

 

BufferedWriter, FileWriter를 이용하면 성능이 더 좋고 더 빠르다.. (100k 이상 파일에서)

FileTest.java 라는 파일을 만들고 파일을 생성 및 삭제 하는 코드를 만들어 보겠습니다.

 

  • 소스코드

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileWriter;

 

class FileWrite {

    

    public void FileCreate(String fileNameString txt) {

        

        try{

            

            // BufferedWriter 와 FileWriter를 조합하여 사용 (속도 향상)

            BufferedWriter fw = new BufferedWriter(new FileWriter(fileName, true));

             

            // 파일안에 문자열 쓰기

            fw.write(txt);

            fw.flush();

 

            // 객체 닫기

            fw.close();

             

             

        }catch(Exception e){

            e.printStackTrace();

        }

    }

}

 

public class FileTest {

 

    public static void main(String[] args) {

        

        String txt = "테스트입니다!!" ;

        String fileName = "D:/logs";

        

        File f = new File(fileName);

        

        // 디렉토리가 없으면 디렉토리 생성

        if(!f.isDirectory()) {

            f.mkdirs();

        }

        

        // 로그 파일 생성 시작

//        FileWrite fw = new FileWrite();

//        

//        for(int i=0; i<10; i++) {

//          txt = "log" + i + " 테스트입니다!!";

//          fileName = "D:/logs/log" + i + ".txt";

//          fw.FileCreate(fileName, txt);

//          

//          System.out.println("log" + i + ".txt");

//        }

        // 로그 파일 생성 끝

        

        // 로그 파일 삭제 시작

        File[] listF = f.listFiles();

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

            listF[i].delete();

            

            System.out.println("delete files... " + listF[i].getName());

        }

        // 로그 파일 삭제 끝

    }

}

반응형