삶 가운데 남긴 기록 AACII.TISTORY.COM
JAVA 파일명으로 금지된 문자 검사하기 본문
자바로 파일을 다루다 보면 파일 이름으로 금지된 문자들을 걸러낼 필요가 있습니다.
그래서 만들어 봤습니다.
제가 쓰려고요.
//파일명으로 금지된 문자들을 검사
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 |