자바 I.O에 대해

SionBackEnd·2022년 7월 20일
0

자바 스터디

목록 보기
15/21
post-thumbnail

파일과 문자셋

자바I.O의 가장 기본이 되는것이 파일과 문자셋이다.

자바의 파일

자바의 파일에는 File이라는 객체가 있다. 이 객체는 파일이나 폴더를 가르키는 객체이다. File객체는 실제 파일의 존재여부와는 상관없다.(파일이 없는 경우 사용하려고 하는 시점에서 FileNotFoundException발생함)

파일의 생성자

4가지의 파일 생성자

  • File(STRING pathname) pathname위치를 가리키는 파일 객체 생성
  • File(File parent, String chile) parent 폴더에 child 파일을 가리키는 파일 객체 생성
  • File(String parent, String child) parent폴더에 child 파일을 가리키는 파일 객체 생성
  • File(URI uri) uri위치를 가리키는 파일 객체 생성

생성자를 통해 실제 파일을 생성하자

  1. 파일 또는 폴더의 존재여부 확인 boolean exist()
  2. 경로 위치에 파일 생성 boolean createNewFile()
  3. 경로 위치에 폴더 생성 boolean mkdir()
File newFile = new File("C/temp/newFile.txt");
if(!newFile.exists()) {newFile.createNewFile();}

주의 할점
C드라이브 루트에 파일쓰기가 불가능하다. 물론 관리자 권한으로 실행하면 동작 가능하지만, 가능한 C드라이브 root는 지정하지 말자.

File의 구분자

System별 FIle 구분자 가져오기 -> File의 정적 필드 File.separator

  1. 윈도우의 파일 구분자: 역슬래시 "₩"
  2. 맥의 파일 구분자: 슬래시 "/"

하지만, 슬래시 구분자를 윈도우에서도 사용가능하다.

File의 정적 필드

한가지 의문점은 과연 윈도우와 맥의 File구분자가 이렇게 다르다면 각각 File구분자를 사용하여 만드는게 아니라, File.separator를 사용하여 구분을 해주면 mac이나 window 구분없이 하나의 File구분자로 구분해줄수있다.

File 경로 표시

경로는 두가지가 있는데
1. 절대경로 드라이브 C부터 특정위치까지 절대적인 경로를 표기하는 방식
2. 상대경로 현재 작업폴더 위치를 기준으로 상때적인 경로를 표기하는 방식

혹시 상대경로를 찾지 못하겠다 싶을때는 메서드 System.getProperty("user.dir"));메서드를 이용할 수 있다.

profile
많은 도움 얻어가시길 바랍니다!

0개의 댓글