-
[Java] Java File 클래스 공부java/IO 2021. 10. 29. 02:25
Absolute Path VS Relative Path
What does abstract path means in java.io?
https://stackoverflow.com/questions/24611148/what-does-abstract-path-means-in-java-io
https://blog.daum.net/janustop/61
File
https://velog.io/@hari6180/File-%ED%81%B4%EB%9E%98%EC%8A%A4
안드로이드 스튜디오 프로젝트에서 Test.kt 코틀린 스크래치 파일로 간단 테스트
- new File(String pathname) 생성자
루트디렉토리로부터 특정디렉토리까지의 추상적인 개념의 경로를 나타내는 File인스턴스를 생성
다른 생성자 몇개를 정리하려고 했는데 까먹고 포스팅을 완료해서 생략한다....
https://developer.android.com/reference/java/io/File
- createNewFile() 메서드
참조한 File 인스턴스로 메서드를 사용하여 새 파일 생성, 파일이 이미존재하는 경우 생성x
프로젝트 하위에 파일 생성됨
바탕화면에 파일 생성됨
- mkdir() 메서드
File의 추상경로의 시작인 루트부터 마지막까지
중간에 실제 디렉토리가 하나라도 존재하지 않는경우가 있다면 디렉토리 생성하지 않고 false리턴
마지막 추상경로의 parent경로까지 디렉토리가 존재하는 경우에만 디렉토리 하나 생성하고 true를 리턴
FirstDepthDirectory이름에 해당하는 디렉토리가 없어서 추상경로의 마지막부분의 디렉토리를 만들지 못함
--mkdirs() 메서드
File에 해당하는 추상경로에 실제로 디렉토리가 존재하지 않아도 상위 루트 디렉토리부터 디렉토리를 만들면서
마지막 경로까지 디렉토리를 만듬
--isFile() 해당 파일인스턴스(파일의 추상경로)에 해당하는 것이 파일인지
--isDirectory() 해당 파일인스턴스(추상경로)에 해당하는 것이 디렉토리인지
추상경로에 아무것도 존재하지 않으면 false
--exists()
추상경로에 파일 또는 디렉토리(물리적인것) 가 둘중 하나라도존재하는 경우 true
아무것도 없으면 false
참고- exists()가 false이면 isFile(), isDirectory()모두 false이다
--isAbsolute() 파일 인스턴스 경로가 절대경로인지
--getAbsolutePath() 절대경로를 리턴( 루트부터 현재까지 이어진)
--getParentFile() 부모 추상경로 File로 리턴
--getParent() 부모 추상경로 String으로 리턴
두 메서드모두 부모 디렉토리가 없는경우 null리턴
getParent()는 getParentFile().getPath() , getParentFile().getPath().toString()과 같다.
이외에도 해당 파일의 크기, 해당 추상경로가 디렉토리라면 하위에 존재하는 것들을 리스트할 수 있는 메서드들등 여러가지가 있다.
- 추가내용
확장자를 포함하여 동일한 문자열의 파일과 디렉토리는 한 공간에 같이 만들 수 없다
(파일 test, 폴더 test는 동일 디렉토리에 존재할 수 없음)
(파일 test.txt, 폴더 test는 가능)