반응형
개발을 하다보면 간혹 String 으로 된 경로를 받지않고 Path Class로 파라미터를 전달받는 경우가 있다.
전 처음 Path Class로 파라미터를 넣으라하길래, 정말 아무 생각없이 new Path()를 타이핑하고....
Ctrl + Space도 해보고 이런저런 많은 것을 해보다가 인터넷을 찾게 되었는데 !
Path path = Paths.get("D:\\sample\\sample_doc.txt");
이런 코드가 있네요! 그런데 얼추 비슷하게 접근했네요 역시 개발자들이란.... 다 똑같은 생각하고 있는듯해요 : )
아참 그리고 가장 중요한 개념설명을 빠뜨렸네요.
1. Path Class를 사용하는 FileNIO ?
보통 File에 접근한다고하면 FileIO를 많이 떠올릴겁니다. 여기서 사용하는 FileNIO는 무엇인가? 아래 표로 간략하게 정리해보았습니다.
|
|
|
|
File Stream |
File Channel |
|
Non - Buffer |
Buffer |
|
지원 X |
지원 O |
|
Only Blocking 지원 |
Blocking / Non-Blocking 지원 |
2. Example source
import java.nio.file.Path;
import java.nio.file.Paths;
public class PathExam {
public static void main(String[] args) {
// 특정 경로의 파일 정보를 가져온다. (Uri | String)
Path path = Paths.get("D:\\sample\\sample_doc.txt");
// 전체 경로
System.out.println("전체 경로: "+ path);
// 파일명
System.out.println("파일명: "+path.getFileName());
// 부모 확인
System.out.println("부모 확인: "+path.getParent().getFileName());
// 루트 확인
System.out.println("루트 확인: "+path.getRoot());
// 경로 단계 수
System.out.println("경로 단계 수: "+path.getNameCount());
// 개별 단계 확인
for(int i=0; i<path.getNameCount(); i++) {
System.out.println((i+1)+"단계: "+path.getName(i));
}
}
}
이렇게 사용하면 이제 어떻게 결과는 아래처럼 나오게 됩니다.
반응형
'백앤드 > Java' 카테고리의 다른 글
[JAVA] OpenJDK8 설치하기 (1) | 2018.10.21 |
---|---|
[JAVA] JSON 파일을 Map에 넣기 (1) | 2018.10.16 |
[JAVA] Super 예약어 와 메소드 오버라이딩 (0) | 2018.10.09 |
[JAVA] 멤버변수 상속관계 와 메소드의 상속 (0) | 2018.10.09 |
[JAVA] 생성자 및 생성자 오버로딩 (0) | 2018.10.09 |