[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에서 같은 기능을 수행하는 설치방법을 참조하면 많은 힌트를 얻을 수 있음을 절감할 수 있다.
Reference
이 문제에 관하여([Koltin 상황 연구] 파일 표시의 확장자를 얻으려고 합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/p_guma/articles/b82c7b6bffa95f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)