Recent Posts
Recent Comments
Link
11-23 13:47
Today
Total
관리 메뉴

삶 가운데 남긴 기록 AACII.TISTORY.COM

JAVA 파일명으로 금지된 문자 검사하기 본문

DEV&OPS/Java

JAVA 파일명으로 금지된 문자 검사하기

ALEPH.GEM 2024. 1. 20. 21:06

 

자바로 파일을 다루다 보면 파일 이름으로 금지된 문자들을 걸러낼 필요가 있습니다.

그래서 만들어 봤습니다. 

제가 쓰려고요.

    //파일명으로 금지된 문자들을 검사
    public static boolean isContainsForbiddenChar(String input) {
        // 금지된 문자들 배열
        char[] forbiddenChars = { '/', '\\', '*', '"', '<', '>', '|' };
        // 입력 문자열에 금지된 문자가 포함되어 있는지 검사
        for (char forbiddenChar : forbiddenChars) {
            if (input.contains(String.valueOf(forbiddenChar))) {
                return true;
            }
        }
        // 금지된 문자가 없는 경우
        return false;
    }

 

그리고 제 생각엔 파일 이름을 입력했는지 검사할 때는 length()로 조사하는 게 나아 보입니다. 

	//파일명을 입력했는지 검사
	if(inputString.trim().length() == 0) {
		System.out.println("파일 이름을 입력하지 않았습니다.");
		return;
	}

 

그리고 다음은 보너스로 입력된 String에서 한글이 몇 글자 인지 세는 것도 만들어 봤습니다.

public class KoreanCharacterCounter {
    public static int countKoreanCharacters(String utf8String) {
        int count = 0;
        // UTF-8 문자열을 문자 단위로 분해하여 처리
        for (int i = 0; i < utf8String.length(); ) {
            int codePoint = utf8String.codePointAt(i);
            // 한글 범위에 해당하는지 확인
            if ((codePoint >= 0xAC00 && codePoint <= 0xD7A3) || (codePoint >= 0x1100 && codePoint <= 0x11FF) || (codePoint >= 0x3130 && codePoint <= 0x318F)) {
                count++;
            }
            // 문자의 길이만큼 인덱스 증가
            i += Character.charCount(codePoint);
        }
        return count;
    }

    public static void main(String[] args) {
        String utf8String = "한글입니다. 영어도 섞였구요. 한자도 섞였습니다. Hello 你好,世界!";
        int koreanCharacterCount = countKoreanCharacters(utf8String);
        System.out.println("한글 개수: " + koreanCharacterCount);
    }
}

 

 

 

 

 

728x90

'DEV&OPS > Java' 카테고리의 다른 글

[SWT/JFace] 이벤트 처리  (45) 2024.01.21
[SWT/JFace] Composite 클래스  (1) 2024.01.21
자바 Thread dump  (0) 2024.01.20
[SWT/JFace] Widget, Control, Label, Button  (1) 2024.01.20
String을 QR코드로 변환 com.google.zxing 라이브러리  (85) 2024.01.19