JAVA에서 File CLASS는 파일이 존재하는지, 디랙토리가 존재하는지, 사이즈가 몇인지 등을 알 수 있는 편리한 클래스 입니다. 특별한 라이브러리 추가 없이 사용가능하기 때문에 편리합니다.

특히 특정 폴더 밑에 모든 파일들을 삭제하거나 검색하는 등에 기능으로 사용하기 좋습니다.



우선 import java.io.File; 로 import를 시킵니다.


1. exists 함수

파일이 존재하는지 여부를 알 수 있습니다.

반환결과가 boolean으로 파일이 존재하면 참, 없으면 거짓을 반환 합니다.


1
2
3
4
5
6
File f = new File("C://test/a.txt");
if(f.exists()) {
     System.out.println("파일 존재");
else {
      System.out.println("파일 없음");            
}
cs


2. length 함수

file의 사이즈를 측정하는 함수 입니다. 바이트 사이즈 크기를 변수타입 long으로 반환합니다. 


1
2
3
4
5
6
7
    File f = new File("C://test/a.txt");
    if(f.exists()) {
        long len = f.length();
        System.out.println("file Size : " + len);
    } else {
        System.out.println("파일 없음");            
    }
cs



3. isFile 함수

파일인지를 검사하는 함수입니다. 파일이 존재하지 않거나 디렉토리이면 false를 반환, 파일이면 true 반환합니다.


1
2
3
4
5
6
    File f = new File("C://test/");
    if(f.isFile()) {
        System.out.println("파일");  
    } else {
        System.out.println("파일이 아님");            
    }
cs



4. isDirectory 함수

디렉토리인지를 검사하는 함수 입니다. 디랙토리이면 true를 반환하고 파일이거나 존재재하지 않으면 false를 반환합니다.


1
2
3
4
5
6
    File f = new File("C://test/");
    if(f.isDirectory()) {
        System.out.println("디랙토리");  
    } else {
        System.out.println("디랙토리 아님");            
    }
cs



5. isHidden 함수

숨김파일인지를 검사하는 함수 입니다. 파일이나 디랙토리가 숨김으로 되어있으면 true를 반환하고 아니면 false를 반환합니다.


1
2
3
4
5
6
File f = new File("C://test/a.txt");
if(f.isHidden()) {
    System.out.println("숨겨진 파일");  
else {
    System.out.println("숨겨진 파일이 아님");            
}
cs


6. getName 함수

파일에 이름을 반환하는 함수 입니다. 앞에 파일 경로를 제외하고 파일이름만 String 타입으로 반환 합니다.


1
2
3
4
5
File f = new File("C://test/a.txt");
if(f.isFile()) {
    String name = f.getName();
    System.out.println("File Name : " + name);
}
cs


7. getPath 함수

파일의 전체 경로와 이름을 반환하는 함수 입니다.


1
2
3
4
5
File f = new File("C://test/a.txt");
if(f.exists()) {
   String path = f.getPath();
   System.out.println("File Path : " + path);
}
cs



8. listFiles 함수

해당 디랙토리 아래 어떤 파일이나 디렉토리들이 있는지를 반환하는 함수 입니다.

File배열로 반환합니다. 아래 예제를 보면 C://test/ 디렉토리 아래에 있는 모든 파일과 디렉토리를 반환하게 됩니다.


1
2
3
4
5
6
File f = new File("C://test/");
if(f.isDirectory()) {
    File[] fList = f.listFiles();
    for(int i=0; i < fList.length; i++)
        System.out.println(fList[i].getName());
}
cs


9. mkdir 함수

디랙토리 만들기 함수 입니다. 아래 예제대로면 C://test/test2 로 test2 디렉토리를 를 만들게 됩니다.

그러나 C://test 폴더가 존재하지 않으면 실패하게 됩니다. 이럴땐 mkdirs을 사용해야합니다.

결과로 성공여부를 boolean 을 반환합니다.


1
2
3
4
5
6
7
File f = new File("C://test/test2");
boolean result = f.mkdir();
if(result)
   System.out.println("디렉토리 만들기 성공");
else
   System.out.println("디렉토리 만들기 실패");
 
cs




10. mkdirs 함수

위의 9번 mkdir과 거의 같은 기능을 하지만 C://test/test2 에서 상위 폴더들이 없으면 상위폴더들까지 만들게 됩니다.


1
2
3
4
5
6
7
File f = new File("C://test/test2");
boolean result = f.mkdirs();
if(result)
   System.out.println("디렉토리 만들기 성공");
else
   System.out.println("디렉토리 만들기 실패");
 
cs



이외에도 몇가지더 존재하지만 대부분 함수이름을 보면 기능이나 사용방법을 추측해볼 수 있습니다.



Posted by 꿈만은공돌
,

C언어에서 가장 불편한 것을 꼽으라면 문자열 처리가 그중 하나가 된다.


C#에서는 문자열을 쉽고 편리하게 사용할 수 있게 String 이라는 편리한 class를 제공해준다.


그리고 class는 다양한 함수들을 가지고 있는데 잘 사용한다면 문자열들을 다루는데 많은 도움이 된다.


1. Length : 문자열의 길이를 반환 한다.

아래 예제는 abcd def 라는 문자열에 길이인 8을 size 변수에 넣는 것을 알 수 있다.


1
2
3
4
5
string test = "abcd efg";
 
//Length : 글자 길이
int size = test.Length; //8
Console.WriteLine("size : " + size);
cs


출력결과

size : 8




2. Split : 특정 조건으로 문자를 쪼갤 수 있다.

아래 예제는 abcd efg 라는 문자열을 Split(' ') 으로 띄어쓰기 된 부분을 쪼개서 abcd와 efg로 나누는 것을 볼 수 있다.  


1
2
3
4
5
6
string test = "abcd efg";
 
string[] arrTest = test.Split(' '); 
foreach(string str in arrTest) {
    Console.WriteLine(str);
});
cs


출력결과 

abcd

def




3. IndexOf : 특정 문자의 위치를 찾는다. 첫번재 글자는 0을 기준으로 한다.

아래 예제는 abcd efg 문자열에서 Indexof(' ') 해서 공백을 찾아 해당 위치를 반환한다.


1
2
3
4
string test = "abcd efg";
 
int indexSpace = test.IndexOf(' '); //4
Console.WriteLine("index : " + indexSpace);
cs


출력결과

index : 4





4. [index] : 특정 index에 문자를 얻을 수 있다. 0번부터 시작한다.

아래 예제는 abcd efg 에서 index가 1인 b를 반환한다.


1
2
3
4
string test = "abcd efg";
 
char cTest = test[1]; //b
Console.WriteLine("index 1 char : " + cTest);
cs


출력결과

index 1 char : b




5. Substring(시작index, 글자수) : 문자열을 시작 index부터 글자수 만큼 쪼갤 수 있다. 글자수가 없다면 끝까지 쪼갠다.

아래예제는 abcdefghi 라는 문자열을 0번째 index부터 4글자인 abcd를 쪼개서 str1에 넣고 4번째 index부터 4글자인 efgh를 쪼개서 str2에 넣고 7번째 index부터 마지막까지인 hi를 str3에 넣었다.


1
2
3
4
5
6
7
8
9
string test = "abcdefghi";
 
string str1 = test.Substring(04);  //abcd
string str2 = test.Substring(44); //efgh
string str3 = test.Substring(7); //hi
 
Console.WriteLine("str1 : " + str1);
Console.WriteLine("str2 : " + str2);
Console.WriteLine("str3 : " + str3);
cs


출력결과

str1 : abcd

str2 : efgh

str3 : hi




6. StartsWith : 특정 문자로 시작하는지 검사

아래예제는 abcd efg 라는 문자열을 ab로 시작하는지 검사하고 cd로 시작하는지 검사하여 결과를 출력한다.


1
2
3
4
5
6
7
string test = "abcd efg";
 
bool startWith_ab = test.StartsWith("ab"); //True
Console.WriteLine("startWith ab : " + startWith_ab);
 
bool startWith_cd = test.StartsWith("cd"); //False
Console.WriteLine("startWith cd : " + startWith_cd);
cs


출력결과

startWith ab : True

startWith cd : False




7. Contains : 특정 문자열이 포함 되어있는지 검사

아래 예제는 abcd efg 문자열에서 cd가 포함되어있는지와 dc가 포함되어있는지 검사하여 출력한다.


1
2
3
4
5
6
7
string test = "abcd efg";
 
bool contain_cd = test.Contains("cd"); //True
Console.WriteLine("contain cd : " + contain_cd);
 
bool contain_dc = test.Contains("dc"); //False
Console.WriteLine("contain dc : " + contain_dc);
cs


출력결과

contain cd : True

contain dc : False




8. Trim : 앞과 뒤에 빈문자를 제거한다.

아래 예제는 " abcde wef   "의 문자열에 앞뒤에 붙은 문자열을 제거하여 출력한다.


1
2
3
4
string test = " abcde wef   ";
 
string trimStr = test.Trim(); //abc
Console.WriteLine("시작"+trimStr +"끝");
cs


출력결과

시작abcde wef끝

Posted by 꿈만은공돌
,