혁신을 이룹니다, 오딘박스(OdinBOX)

언제나 어디서나 오딘박스와 함께!

Java File Handling에 관련해서 알아보자

간지뽕빨리턴님 2019. 11. 29. 10:22
반응형

 Java File Handling 

자바 파일 핸들링(Java File Handling)

평소에 관심이 있던 "Java File Handling" 관련하여, 알아보자

 

w3schools의 자료들을 참고 하여, 작성하겠습니다.

 

File에 관련된 패키지[Package]java.io에 있다.

import java.io.*;
import java.io.file;
메소드[Method] 타입[Type] 묘사[Description]
canRead() Boolean "파일을 읽을 수 있는지?"
canWrite() Boolean "파일의 쓰기가 가능 한지?"
createNewFile() Boolean "빈 파일 생성해주세요"
delete() Boolean "파일 삭제해주세요"
exists() Boolean "파일이 있는지 확인해주세요"
getName() String "파일 이름을 반환해주세요"
getAbsolutePath() String "파일의 절대 경로 이름 반환해주세요"
length() Long "파일 크기(byte)를 반환해주세요"
list() String[] "폴더(디렉토리)에 있는 파일 배열을 반환해주세요"
mkdir() Boolean "폴더(디렉토리)를 만들어주세요"

- 영어로 알려져있어서 우리가 좀 더 편하게 알 수 있게 하기위해 한글로 번역

- Bolean 담겨질 수 있는 데이터[data] : True or False

- String 담겨질 수 있는 데이터[data] : 문자열이 들어 갈 수있다 String a = "최영환";

- Long 담겨질 수 있는 데이터[data] : 정수를 표현할 수 있다. long Yeonghwan = 84577551565L;

잠깐만요 ! IOException 알고 가실께요!

잠깐만요 ! IOException 알고 가실께요! 

Java Virtual Machine('JVM') 프로그램에서 에러 발생하면, Exception[예외]을 던집니다.[Throw]
보통 [try/catch] 사용하여 프로그램을 처리, 다른 경우에서는 자신이 처리하지 않고 자신을 부른 곳에서 던집니다.

이 경우 메소드[Method]의 java.io.IOException 명시됨.

참고 : No.1


File Created :

import java.io.File; 
import java.io.IOException;

public class Create {
  public static void main(String[] args) {
    try {
      File FileCT = new File("Yeonghwan.txt");
      if (FileCT.createNewFile()) {
        System.out.println("File created: " + FileCT.getName());
      } else {
        System.out.println("준비됬어!");
      }
    } catch (IOException e) {
      System.out.println("오류났어 ㅠ");
      e.printStackTrace();
    }
  }
}
/* ⓒ W3schools
* Create 클래스에 파일을 생성 할 수 있게 만들어진 소스입니다
* File FileCT = new File("Yeonghwan.txt"); 이 부분은 Yeonghwan.txt라는 파일명을 설정한겁니다.
* 그리고 순차적으로 내려오면서 FileCT.createNewFile()을 거쳐 파일을 생성 하게 됩니다.
*/

File Writer :

import java.io.FileWriter;   // FileWriter 클래스 가져온다.
import java.io.IOException;  // 오류를 처리 할 수 있는 IOException 클래스 가져온다.

public class Writer {
  public static void main(String[] args) {
    try {
      FileWriter WriterMyFile = new FileWriter("Yeonghwan.txt"); // Yeonghwan.txt라는 파일에 밑의 내용을 입력시켜준다.
      WriterMyFile.write("이런 내용을 파일에 입력시켜줘.");
      WriterMyFile.close();
      System.out.println("성공적이야!");
    } catch (IOException e) {
      System.out.println("오류났어..");
      e.printStackTrace();
    }
  }
}

File Read :

import java.io.File;  // Import the File class
import java.io.FileNotFoundException;  
import java.util.Scanner; // 텍스트 파일 읽을 수 있는 scanner 클래스 가져온다.

public class ReadFile {
  public static void main(String[] args) {
    try {
      File ReadTxt = new File("Yeonghwan.txt");
      Scanner myReader = new Scanner(ReadTxt);
      while (myReader.hasNextLine()) {
        String data = myReader.nextLine();
        System.out.println(data);
      }
      myReader.close();
    } catch (FileNotFoundException e) {
      System.out.println("오류났어..");
      e.printStackTrace();
    }
  }
}
/*
* 파일 내의 텍스트를 가져와서 출력한다.
*/

File Information :

import java.io.File;  // File 클래스 가져온다.

public class FileInfo { 
  public static void main(String[] args) {
    File InfoFile = new File("Yeonghwan.txt");
    if (InfoFile.exists()) {
      System.out.println("파일 명 : " + InfoFile.getName());
      System.out.println("파일 경로 : " + InfoFile.getAbsolutePath());
      System.out.println("쓰기 가능 : " + InfoFile.canWrite());
      System.out.println("일기 가능 : " + InfoFile.canRead());
      System.out.println("파일 크기[Byte] : " + InfoFile.length());
    } else {
      System.out.println("파일이 존재하지 않는다는데, 다시 확인해주세요.");
    }
  }
}

Delete File :

import java.io.File;  // File 클래스를 가져온다.

public class DelFile {
  public static void main(String[] args) { 
    File FileDel = new File("Yeonghwan.txt"); 
    if (FileDel.delete()) { 
      System.out.println("파일 삭제 : " + FileDel.getName());
    } else {
      System.out.println("삭제 실패");
    } 
  } 
}

Delete Folder : 

import java.io.File; 

public class DelFolder {
  public static void main(String[] args) { 
    File FolderDel = new File("경로 지정"); 
    if (FolderDel.delete()) { 
      System.out.println("삭제 할 폴더 : " + FolderDel.getName());
    } else {
      System.out.println("폴더 삭제 실패");
    } 
  } 
}

- 추후 알고 싶은 내용들이 있으면, "추가/수정" 하겠습니다.