- Programming 에서 문자열을 다루는 것은 byte 와 char 뿐이다.
- 본래 문자열(string)은 char 의 배열(array)이다
- JAVA 에서 String 은 문자열을 다루기 위한 class 이다.
문자열의 기능
exam
public class StringUtils {
public String check(String fileName) {
//파일명은 20자가 넘으면 안됩니다.
int len = fileName.length();
System.out.println("글자수 : "+len);
if(len>20) {
// return 은 해당 메서드를 탈출한다.
return "글자수가 20자를 넘었습니다.";
}
//파일명에 다음의 문자가 포함되면 안됩니다.(@,$,#,%,&)
String[] arr = {"$","#","%","&","@"};
for (String str : arr) {
boolean contain = fileName.contains(str);
System.out.println(str+":"+contain);
if(contain == true) {
return "@,$,#,%,& 가 포함되어 있으면 안됩니다.";
}
}
//파일명 앞에 [img] 가 붙어야 합니다. == 파일명이 [img] 로 시작되어야 한다.
if(fileName.startsWith("[img]")==false) {
return "파일명 앞에 [img] 가 붙어야 합니다.";
}
//허용되는 확장자는 .png .jpg .gif 입니다.
String[] exts = new String[] {".png",".jpg",".gif",".jpeg"};
boolean pass = false;
for (String ext : exts) {
pass = fileName.endsWith(ext);
System.out.println(ext+":"+pass);
if(pass== true) {
break;
}
}
System.out.println(pass);
if(pass==false) {
return "허용되는 확장자는 .png .jpg .gif 입니다.";
}
//.jpeg 확장자는 .jpg 로 강제 변환 됩니다.
if(fileName.endsWith(".jpeg")) {
fileName = fileName.replace(".jpeg",".jpg");
}
return fileName + "은 정상적인 파일명 입니다.";
}
}