표준 입출력과 File: File(1)

2022. 4. 27. 17:34·자바/입출력 IO

1. File

- 입출력에 대한 가장 기본적이면서도 가장 많이 사용되는 입출력 대상이기 때문에 중요하다.

 

 

- 아래는 File에 대한 생성자/메서드를 설명한다.

: 중요한 부분만 다뤘다. 자세한 내용은 915p를 참고한다.

 

(1) File(String fileName)

: 주어진 문자열을 이름으로 갖는 파일을 위한 File 인스턴스를 생성한다.

: 여기서 fileName은 파일 이름만 사용해도 되는데 이 경우 프로그램이 실행되는 위치가

경로로 간주된다.

 

(2) File(URI uri)

: 지정된 uri로 파일 생성

 

(3) File(String pathName, String fileName)

또는

File(File pathName, String fileName)

: 파일의 경로와 이름을 따로 분리해서 지정할 수 있도록 한 생성자이다.

: 두번째 것은 경로를 문자열이 아닌 File 인스턴스인 경우를 위해서 제공된 것이다.

 

(4) String getName()

: 파일 이름을 String으로 변환한다.

 

(5) String getPath()

: 파일의 경로를 String으로 반환한다.

 

(6) String getAbsolutePath()

또는 

File getAbsoluteFile()

: 파일의 절대경로를 각각 String과 File로 반환한다.

 

(7) String getParent()

또는

File getParentFile()

: 파일의 조상 디렉토리를 각각 String과 File로 반환한다.

 

(8) String getCanonicalPath()

또는

File getCanonicalFile()

: 파일의 정규 경로를 각각 String과 File로 반환한다.

 

 

( 멤버변수에 관한 설명은 915p를 참고한다. )

 

 

- File과 관련된 더 많은 메서드는 918p~919p를 참고해서 필요할 때마다 쓰자.

 

 

 

1-1. File을 이해하기 위한 예제(1)

: 위에서 봤던 생성자/메서드를 이해하는 예제이다.

 

[File] Exercise001
sun.boot.class.path

 

( 절대 경로는 파일 시스템의 루트로부터 시작하는 파일의 전체 경로를 의미한다. )

( 현재 디렉토리를 의미하는 '.'와 같은 기호나 링크를 포함하고 있는 경우 절대 경로가 두 개 이상 존재한다. )

 

( 정규 경로는 기호나 링크 등을 포함하지 않는 유일한 경로를 의미한다. )

 

( 시스템 속성 중에서 user.dir의 값을 확인하면 현재 프로그램이 실행 중인 디렉토리를 알 수 있다. )

 

( OS의 시스템 변수로 설정하는 classpath외에 sun.boot.class.path라는 시스템 속성에 기본적인 classpath가

있어서 기본적인 경로들은 이미 설정 되어 있다. )

 

( 예제에서 사용했던 File f = new File("c:\\jdk1.8\\work\\ch15\\FileEx1.java"); 부분을 아래의 두 가지

버전으로 변경 할 수 있다. )

 

(1) File f = new File("c:\\jdk1.8\\work\\ch15\\FileEx1.java");

 

(2) File dir = new File("c:\\jdk1.8\\work\\ch15");

File f= new File(dir, "FileEx1.java");

 

 

( 한 가지 알아야 할 점은 File 인스턴스를 생성했다고 해서 파일이나 디렉토리가 생기는 것은 아니다. )

( 파일명이나 디렉토리명으로 지정된 문자열이 유효하지 않더라도 컴파일 에러나 예외를 발생시키지 않는다. )

 

( 그러므로, File 인스턴스를 생성 후, 출력 스트림을 생성하거나 createNewFile()을 호출해야 한다. )

( 아래의 코드를 보고 이해하자.)

 

(1) 이미 존재하는 파일을 참조할 때

File f = new File("c:\\jdk1.8\\work\\ch15", "FileEx1.java");

 

(2) 기존에 없는 파일을 참조할 때

File f = new File("c:\\jdk1.8\\work\\ch15", "FileEx1.java");

f.createNewFile();

 

 

 

 

1-2. File을 이해하기 위한 예제(2)

: 지정한 디렉토리에 포함된 파일과 디렉토리의 목록을 보여주는 예제이다.

 

잘못된 값
해당 디렉토리의 파일명과 디렉토리명을 보여주는 출력문

 

 

다음 장

표준 입출력과 File: File(2) (tistory.com)

 

표준 입출력과 File: File(2)

1-3. File을 이해하기 위한 예제(3) : 1-2 예제(2)에서 했던 코드에 추가로 서브 디렉토리의 파일과 디렉토리까지 보여주는 예제이다. package File; import java.io.File; import java.util.ArrayList; import ja..

kind-coding.tistory.com

 

저작자표시 (새창열림)

'자바 > 입출력 IO' 카테고리의 다른 글

표준 입출력과 File: File(3)  (0) 2022.04.28
표준 입출력과 File: File(2)  (0) 2022.04.28
표준 입출력과 File: RandomAccessFile  (0) 2022.04.27
표준 입출력과 File: System(in, out, err)  (0) 2022.04.27
문자 기반의 보조 스트림: (Buffered, InputStream, OutputStream) 읽기와 쓰기  (0) 2022.04.27
'자바/입출력 IO' 카테고리의 다른 글
  • 표준 입출력과 File: File(3)
  • 표준 입출력과 File: File(2)
  • 표준 입출력과 File: RandomAccessFile
  • 표준 입출력과 File: System(in, out, err)
백_곰
백_곰
  • 백_곰
    친절한 코딩
    백_곰
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 알고리즘 (with JAVA)
        • 기본 알고리즘
        • 완전 탐색
        • 분할 정복 알고리즘
        • 동적 계획법
        • 탐욕법
        • 코딩 테스트 기출 문제
        • 코드트리 조별과제
      • 백준 (with JAVA)
        • 완전 탐색
        • 분할 정복
        • 그 외
      • 자바
        • 개발 환경 구축하기
        • 팁
        • 기본적인 개념
        • 컬렉션 프레임워크
        • 프로세스와 쓰레드
        • 지네릭스
        • 람다식
        • 스트림
        • 입출력 IO
        • 네트워킹
        • 열거형(enums)
        • java.lang 패키지
        • java.time 패키지
        • 유용한 클래스들
        • 형식화 클래스들
      • 안드로이드 with 자바
        • 응용 문제들
        • 자잘한 문제들
        • 오류 보고서
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      java.lang패키지
      outputstream
      snail
      소켓 프로그래밍
      ServerSocket
      유용한 클래스
      안정 정렬
      Collections Framework
      안드로이드 스튜디오
      file
      map()
      다형성
      중간연산
      InputStream
      문자 기반 스트림
      역직렬화
      제자리 정렬
      java.time 패키지
      코드트리
      자바 개념
      람다식
      코딩트리조별과제
      알고스팟
      스트림
      코딩테스트
      Arrays
      serializable
      불안정 정렬
      선택 정렬
      TCP 소켓 프로그래밍
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    백_곰
    표준 입출력과 File: File(1)
    상단으로

    티스토리툴바