Camel case, Kebab case, Snake case 그리고 Pascal case

프로그래밍에서의 공백 제거

프로그래밍을 할 때 우리는 보통 단어 사이의 공백을 제거하고 위의 나열된 방식 중에 하나로 문자열을 표현합니다.

왜냐하면 공백(Space)은 프로그램에서 특별한 목적의 키워드로써 활용되기 때문이지요.

 

예를 들어 나의 방문자수를 나타내기 위해 변수명을 짓는다고 생각해보면,

My Visitor Count로 변수명을 짓고 싶지만 대부분은 int myVisitorCount 형식으로 변환하여 사용합니다.

 

여기서 My Visitor Count -> myVisitorCount 로 바꾸는 데 사용되는 규칙이 Camel Case이며 이 밖에도 여러 변환 규칙이 있습니다. 하나씩 살펴보겠습니다.

 

Camel Case(카멜 케이스)

낙타의 쌍봉과 같이 문자열의 첫 문자를 제외하고 단어의 첫 글자마다 대문자로 표현하는 방식입니다. 많은 프로그램 언어에서 컨벤션으로 사용됩니다.

 

변환 전 : My Visitor Count

변환 후 : myVisitorCount

 

Kebab Case(케밥 케이스)

생각하시는 그 먹는 케밥이 맞습니다. 카멜 케이스와 달리 모두 소문자로 표현하며 단어와 단어 사이를 대시(-)를 이용하여 구분합니다. 스프링의 yml파일이나 url주소에서 사용됩니다.

 

변환 전 : My Visitor Count

변환 후 : my-visitor-count

 

Snake Case(스네이크 케이스)

케밥의 대시(-)와 다르게 언더스코어(_)를 구분자로 합니다. 모든 문자를 대문자로 나타내는 방식도 사용되며 주로 상수 표현 시에 사용됩니다.

 

변환 전 : My Visitor Count

변환 후 : my_visitor_count

변환 후 : MY_VISITOR_COUNT

 

Pascal Case(파스킬 케이스)

카멜 케이스와 유사하지만 첫 문자도 대문자로 표현합니다.

 

변환 전 : My Visitor Count

변환 후 : MyVisitorCount

 

 

 


 


FileWriter에서 flush()와 close()의 차이점

FileWriter를 사용 후에는 flush()와 close()를 호출하는데요 두 메소드의 차이점에 대해 알아봅니다.

 

- flush() : FileWriter 내부 버퍼의 내용을 파일에 writer합니다. flush()를 호출하지 않는다면 내용이 버퍼에만 남고 파일에는 쓰이지 않는 상황이 나올 수 있습니다.

 

- close() : FileWriter는 스트림을 이용하여 파일의 내용을 읽어들입니다. 이때 close()를 호출하여 스트림을 닫으면 그 스트림을 다시 이용하여 파일에 쓰는 것이 불가능합니다.

파일은 파일시스템이나 기타 다른 곳에 있으므로 이 내용을 스트림으로 읽어 들이는데 메모리를 소모합니다. 작업이 끝나면 close()를 호출하여 스트림을 닫아 종료된 작업에 대해 메모리를 확보해야 합니다.


[Java] 파일 생성, 파일 읽기(File, FileReader. FileWriter)

이전에 자바에서 파일과 디렉터리를 추상화한 File 클래스에 대해 정리했었는데,

이번에는 생성한 파일에 내용을 작성하는 것에 대해 정리합니다.


1. 파일 생성 및 쓰기(FileWriter, BufferedWriter)

D:\MyWork 경로 하위에 Test.txt 파일을 생성하고 내용을 작성합니다.

FileWriter의 생성자는 두번째 인자로 boolean 타입을 받는데, 이는 파일에 내용을 이어붙혀서 작성할지 처음부터 덮어씌워서 작성할지 여부를 결정합니다. 디폴트는 덮어씌워 작성입니다. (기존 내용이 날아감)

BufferedWriter는 파일에 문자열을 쓰기위해 편리한 메소드를 제공합니다. 예를들면 newLine() 처럼 줄바꿈을 추가할 수 있죠.

public class FileWriterTest {
    public static void main(String[] args) throws IOException{
        String filePath = "D:/MyWork/Test.txt";

        File file = new File(filePath); // File객체 생성
        if(!file.exists()){ // 파일이 존재하지 않으면
            file.createNewFile(); // 신규생성
        }

        // BufferedWriter 생성
        BufferedWriter writer = new BufferedWriter(new FileWriter(file, true));

        // 파일에 쓰기
        writer.write("하이루!");
        writer.newLine();
        writer.write("반가워!");
        writer.newLine();

        // 버퍼 및 스트림 뒷정리
        writer.flush(); // 버퍼의 남은 데이터를 모두 쓰기
        writer.close(); // 스트림 종료
    }
}
하이루!
반가워!

2. 파일 읽기(FileReader, BufferedReader)

1번에서 작성한 내용을 읽어 콘솔에 출력하는 예제입니다. 파일을 읽기위해 FileReader, 한줄 단위로 읽어오는 편리한 readLine() 메소드를 사용하기 위해 BufferedReader를 사용했습니다.

public class FileReaderTest {
    public static void main(String[] args) throws IOException{
        String filePath = "D:/MyWork/Test.txt";

        File file = new File(filePath); // File객체 생성
        if(file.exists()){ // 파일이 존재하면
            BufferedReader reader = new BufferedReader(new FileReader(file));

            System.out.println("파일내용 출력------------------");
            String line = null;
            while ((line = reader.readLine()) != null){
                System.out.println(line);
            }
            System.out.println("------------------------------");

            reader.close();
        }
    }
}

 

 


 

 

 

 

 

 

+ Recent posts