[Koltin 상황 연구] 파일 표시의 확장자를 얻으려고 합니다.

각양각색의 상황


파일 시스템의 리소스


Path(java.nio.file) 인터페이스로 표현하는 경우가 많은 것 같아요.
kotlin에서 kotlin 확장 함수인 Path 함수를 통해 Path 인터페이스의 실현 클래스를 초기화할 수 있습니다.
println(Path("test.html").extension)
println(Path("/lab/pguma/test.html").extension)
Path 인터페이스를 사용할 때 위에서 설명한 확장 속성 정의extension를 사용하는 것이 가장 빠릅니다.

네트워크의 자원 또는 문자열


네트워크상의 리소스는 URI 클래스로 표시되는 경우가 많다고 생각합니다.
나는 현 단계에서 가장 희망하는 것은 문자열로 바꾸고 처리하는 것이라고 생각한다.
문자열로 어떻게 처리합니까?그렇지만
상술extention 속성의 실시는 다음과 같다.
public val Path.extension: String
    get() = fileName?.toString()?.substringAfterLast('.', "") ?: ""
스트링 레벨의 확장 함수로 직접 이것을 빌려 정의하면 편리합니다.
extention.file.kt
fun String?.getExtension() = this?.substringAfterLast(".") ?: ""
println(URI.create("http://lab.pguma/on_network.html").toString().getExtension())
println(URI.create("file://lab.pguma/on_local_network.html").toString().getExtension())
println("classpath:string.html".getExtension())
val nullString:String? = null
println(nullString.getExtension())

총결산


역시 표준 API 설치에서 배운 게 많네요.
설치방법을 고민할 때나 더 나은 설치방법을 모색하고 싶을 때 표준 API에서 같은 기능을 수행하는 설치방법을 참조하면 많은 힌트를 얻을 수 있음을 절감할 수 있다.

좋은 웹페이지 즐겨찾기