자바 기본 파일 과 디 렉 터 리 작업
6248 단어 Java파일 조작디 렉 터 리 조작
파일 과 디 렉 터 리 작업 은 최종 적 으로 운영 체제 와 파일 시스템 과 관련 되 고 서로 다른 시스템 의 실현 은 다 르 지만 자바 의 자바.io.File 류 는 통 일 된 인 터 페 이 스 를 제공 합 니 다.바 텀 은 로 컬 방법 으로 운영 체제 와 파일 시스템 의 구체 적 인 실현 을 호출 합 니 다.이 절 에서 우 리 는 File 류 를 소개 합 니 다.File 류 의 작업 은 크게 세 가지 로 나 눌 수 있 습 니 다.파일 메타 데이터,파일 작업,디 렉 터 리 작업 입 니 다.이 작업 을 소개 하기 전에 File 의 구조 방법 을 살 펴 보 겠 습 니 다.
구조 방법
File 은 파일 을 표시 할 수도 있 고 디 렉 터 리 를 표시 할 수도 있 습 니 다.주요 구조 방법 은 다음 과 같 습 니 다.
File 의 경 로 는 이미 존재 할 수도 있 고 존재 하지 않 을 수도 있 습 니 다.new 를 통 해 File 대상 을 새로 만 들 면 실제 파일 을 만 들 지 않 습 니 다.파일 이나 디 렉 터 리 를 표시 하 는 대상 만 만 만 들 뿐 new 이후 File 대상 의 경 로 는 변 하지 않 습 니 다.
3.파일 메타 데이터
파일 메타 데 이 터 는 주로 파일 이름과 경로,파일 기본 정보 와 안전 과 권한 에 관 한 정 보 를 포함한다.파일 이름과 경로 와 관련 된 주요 방법 은 다음 과 같 습 니 다.
이런 방법 들 이 비교적 직관 적 이어서 우 리 는 설명 하지 않 겠 다.File 클래스 에 4 개의 정적 변수 가 있 습 니 다.경로 구분 자 를 표시 합 니 다.다음 과 같 습 니 다.
separator 와 separator Char 는 파일 경로 구분 자 를 표시 합 니 다.Windows 시스템 에 서 는 보통',Linux 시스템 에 서 는'/'입 니 다.pathSeparator 와 pathSeparatorChar 는 여러 파일 경로 의 구분자,예 를 들 어 환경 변수 PATH 의 구분자,자바 류 경로 변수 classpath 의 구분자 등 을 표시 합 니 다.명령 을 실행 할 때 운영 체 제 는 PATH 가 지정 한 디 렉 터 리 에서 명령 을 찾 고 자바 가 실 행 될 때 classpath 파일 을 불 러 올 때 classpath 가 지정 한 경로 에서 클래스 파일 을 찾 습 니 다.윈도 시스템 에서 이 구분자 는 일반적으로';'이다.리 눅 스 시스템 에서 이 구분자 는 일반적으로':'이다.
파일 이름과 경 로 를 제외 하고 File 대상 은 다음 과 같은 방법 으로 파일 이나 디 렉 터 리 의 기본 정 보 를 얻 을 수 있 습 니 다.
설명 이 필요 한 것 은 File 대상 이 생 성 시간 을 되 돌려 주 는 방법 이 없습니다.생 성 시간 은 하나의 공공 개념 이 아니 기 때문에 Linux/Unix 는 생 성 시간의 개념 이 없습니다.
File 클래스 에서 보안 과 권한 과 관련 된 주요 방법 은 다음 과 같 습 니 다.
수정 방법 에서 수정 에 성공 하면 true 로 돌아 갑 니 다.그렇지 않 으 면 false 로 돌아 갑 니 다.권한 설정 방법 에서 owner-Only 는 true 로 owner 만,false 는 모든 사용 자 를 대상 으로 하고 owner Only 를 지정 하지 않 은 방법 중 owner Only 는 true 에 해당 합 니 다.
파일 작업
파일 작업 은 주로 생 성,삭제,이름 바 꾸 기 가 있 습 니 다.
새 File 대상 은 실제 파일 을 만 들 지 않 지만 다음 과 같은 방법 으로 만 들 수 있 습 니 다.
생 성 에 성공 하면 true 로 돌아 갑 니 다.그렇지 않 으 면 false 로 돌아 갑 니 다.새로 만 든 파일 의 내용 이 비어 있 습 니 다.파일 이 존재 한다 면 만 들 지 않 습 니 다.
File 대상 은 두 가지 정적 방법 이 있 습 니 다.임시 파일 을 만 들 수 있 습 니 다.
임시 파일 의 전체 경로 이름 은 시스템 이 지정 하고 유일 하지만 매개 변 수 를 통 해 접두사(prefix),접두사(suffix),디 렉 터 리(directory)를 지정 할 수 있 습 니 다.prefix 는 필수 이 며,적어도 세 글자 가 필요 합 니 다.suffix 가 null 이면 기본 값 은.tmp 입 니 다.directory 가 null 로 지정 되 지 않 거나 지정 되 지 않 으 면 시스템 기본 디 렉 터 리 를 사용 합 니 다.
File 클래스 의 삭제 방법 은 다음 과 같 습 니 다.
delete 파일 이나 디 렉 터 리 를 삭제 하고 삭제 에 성공 하여 true 로 돌아 갑 니 다.그렇지 않 으 면 false 로 돌아 갑 니 다.File 이 디 렉 터 리 이 고 비어 있 지 않 으 면 delete 가 성공 하지 못 하고 false 로 돌아 갑 니 다.다시 말 하면 디 렉 터 리 를 삭제 하려 면 디 렉 터 리 에 있 는 모든 하위 디 렉 터 리 와 파일 을 삭제 해 야 합 니 다.deleteOnExit 는 File 대상 을 삭제 대기 목록 에 추가 하고 자바 가상 컴퓨터 가 정상적으로 종료 되 었 을 때 실제 삭제 합 니 다.
File 클래스 의 이름 바 꾸 는 방법 은 다음 과 같 습 니 다.
매개 변수 dest 는 이름 을 바 꾼 파일 을 의미 합 니 다.이름 을 바 꾸 는 데 성공 할 수 있 는 지,반환 값 은 성공 할 수 있 는 지 를 의미 합 니 다.
디렉토리 작업
File 대상 이 디 렉 터 리 를 대표 할 때 디 렉 터 리 를 만 들 거나 옮 겨 다 닐 수 있 습 니 다.
디 렉 터 리 를 만 드 는 데 사용 할 두 가지 방법 이 있 습 니 다.
디 렉 터 리 를 만 들 었 습 니 다.트 루 를 성공 적 으로 만 들 었 습 니 다.false 로 돌아 갈 수 없습니다.디 렉 터 리 가 존재 한다 면 반환 값 은 false 입 니 다.이 두 가지 방법의 차 이 는 중간 부모 디 렉 터 리 가 존재 하지 않 으 면 mkdir 가 실패 하고 false 로 돌아 가 며 mkdirs 는 필요 한 중간 부모 디 렉 터 리 를 만 드 는 것 이다.
디 렉 터 리 의 하위 디 렉 터 리 와 파일 에 접근 하 는 방법 은 다음 과 같 습 니 다.
하위 디 렉 터 리 나 파일 을 직접 되 돌려 주 며 하위 디 렉 터 리 에 있 는 파일 을 되 돌려 주지 않 습 니 다.list 는 파일 이름 배열 을 되 돌려 주 고 listFiles 는 File 대상 배열 을 되 돌려 줍 니 다.FilenameFilter 와 FileFilter 는 모두 인터페이스 입 니 다.필터 에 사 용 됩 니 다.FileFilter 의 정 의 는:
FilenameFilter 의 정의:
하위 디 렉 터 리 와 파일 을 옮 겨 다 닐 때 모든 파일 에 대해 FilenameFilter 나 FileFilter 의 accept 방법 을 호출 합 니 다.accept 방법 이 true 로 돌아 갈 때 만 이 하위 디 렉 터 리 나 파일 을 결과 에 포함 합 니 다.Filename-Filter 와 FileFilter 의 차이 점 은 FileFilter 의 accept 방법 매개 변 수 는 하나의 File 대상 만 있 고 File-name Filter 의 accept 방법 매개 변 수 는 두 가지 가 있 으 며 dir 는 부모 디 렉 터 리 를 표시 하고 name 은 하위 디 렉 터 리 나 파일 이름 을 표시 합 니 다.현재 디 렉 터 리 에 있 는 모든 확장자.txt 파일 을 보 여 줍 니 다.코드 는 다음 과 같 습 니 다.
우 리 는 FilenameFilter 의 익명 내부 클래스 대상 을 만 들 고 listFiles 에 전달 했다.
옮 겨 다 니 는 방법 을 사용 하면 편리 하 게 옮 겨 다 니 며 더욱 고 급 스 러 운 기능 을 완성 할 수 있다.예 를 들 어 디 렉 터 리 에 있 는 모든 파일 의 크기(하위 디 렉 터 리 포함)를 계산 하면 코드 는 다음 과 같 습 니 다.
또한,한 디 렉 터 리 에서 주어진 파일 이름 의 파일 을 찾 으 면 코드 는 다음 과 같 습 니 다.
앞에서 File 류 의 delete 방법 을 소 개 했 습 니 다.디 렉 터 리 가 비어 있 지 않 고 디 렉 터 리 를 삭제 하려 면 디 렉 터 리 를 비 워 야 합 니 다.옮 겨 다 니 는 방법 을 이용 하여 비 어 있 는 디 렉 터 리 를 삭제 하 는 방법 을 쓸 수 있 습 니 다.코드 는 다음 과 같 습 니 다.
총화
파일 처리 에 관 한 기본 기술 은 파일 의 기본 개념,바 이 너 리 파일 과 바이트 흐름,텍스트 파일 과 문자 흐름,그리고 파일 과 디 렉 터 리 작업 을 포함 하여 소개 합 니 다.다음 장 에서 우 리 는 문서 처리 와 관련 된 고급 기술 을 살 펴 보 자.
자바 기반 파일 과 디 렉 터 리 작업 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 파일 과 디 렉 터 리 작업 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.