유틸리티 클래스/방법

유틸리티 클래스는 특정 관련 작업 목록을 수행하는 정적 변수 및 정적 메서드가 있는 도우미 클래스입니다.

표준 유틸리티 클래스의 예를 살펴보겠습니다.

java.lang.수학 다양한 수학적 계산을 수행할 수 있는 이 클래스는 몇 가지 수학적 상수를 제공합니다.
java.util.배열 이 클래스에는 배열 작업을 위한 다양한 메서드(예: 배열 정렬 및 검색)가 포함되어 있습니다. 이 클래스에는 배열을 목록으로 볼 수 있는 정적 팩터리도 있습니다.
java.lang.시스템 이 클래스는 시스템 작업을 위한 메서드를 구현합니다. 대부분 콘솔에 텍스트를 표시하는 데 사용합니다. 이를 위해 정적을 참조합니다.밖으로PrintStream 개체를 저장하고 해당 println 메서드( System.out.println ) 를 호출하는 변수입니다 .

유틸리티 클래스를 직접 만들 수도 있습니다. 이렇게 하려면 필요한 정적 공용 메서드 가 있는 클래스를 만들기만 하면 됩니다 . 그러나 유틸리티 클래스를 만드는 데에는 타당한 이유가 있어야 한다는 점을 기억하십시오. 예를 들어, 여러 다른 클래스에서 단일 작업(예: 복잡한 계산)을 수행하기 위해 동일한 메서드 또는 메서드 집합을 사용해야 할 수 있습니다.

유틸리티 클래스인 Paths 클래스 의 예를 살펴보겠습니다 .

경로 클래스

이 클래스는 서로 다른 매개변수 목록이 있는 두 가지 변형이 있는 단 하나의 정적 get 메서드로 구성됩니다.

get 메서드 에 전달할 수 있는 인수는 다음과 같습니다.

get(문자열 우선, 문자열... 더 보기) 전체 경로 또는 디렉토리 이름 목록 및/또는 마지막 인수의 파일.
get(URI 우리) URI.

이 유틸리티 클래스는 경로(문자열 형식) 또는 URI를 Path로 변환하는 문제를 해결 합니다 . 우리는 이미 Path를 살펴보았고 Path 가 필요한 이유와 Path를 사용하는 방법을 이해했습니다.

공교롭게도 우리는 종종 문자열 이나 URI 형식의 경로를 처리합니다. 여기에서 Paths 유틸리티 클래스의 메서드를 사용할 수 있습니다.

예를 살펴보겠습니다.

논평
Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
get 메서드에 String(파일 경로)을 전달 하고 Path 를 얻습니다 . 그런 다음 필요에 따라 작업할 수 있습니다.
Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
경로 URI에서도 얻을 수 있습니다.
Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
디렉토리 이름의 순서와 경로가 필요한 파일 이름을 나타냅니다.

그러나 여기에는 주의 사항이 있습니다. Java 11이 출시되면서 get 메서드의 모든 구현은 Path.of 를 호출합니다 .

public static Path get(String first, String... more) {
    return Path.of(first, more);
}

public static Path get(URI uri) {
    return Path.of(uri);
}

이 유틸리티 클래스는 더 이상 사용되지 않는다고 선언될 수 있으므로 대신 Path.of를 사용해야 합니다 .

전에 후에
Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
Path path =
Path.of("C:\\Users\\User\\Documents\\MyFile.txt");
Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
Path path = Path.of(URI.create("file:///Users/User/Code/MyClass.java"));
Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
ath path = Path.of(System.getProperty("user.home"),"documents", "document.txt");