Kotlin/포스팅

코틀린 파일 시스템 유틸리티

짜집퍼박사(짜박) 2024. 1. 2. 00:01

코틀린에서 파일 시스템과 관련된 작업을 수행하기 위해서는 표준 라이브러리의 java.nio.file 패키지와 java.io.File 클래스, 그리고 코틀린 표준 라이브러리의 몇 가지 확장 함수 및 함수를 활용할 수 있습니다. 아래에서는 코틀린에서 파일 시스템 유틸리티를 사용하는 몇 가지 예제를 제시하겠습니다.

 

1. 파일 또는 디렉토리 존재 여부 확인

파일 또는 디렉토리의 존재 여부를 확인하려면 java.nio.file.Files.exists 함수나 java.io.File.exists 속성을 사용할 수 있습니다.

import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.Paths
import java.io.File

fun main() {
    val path: Path = Paths.get("example.txt")
    
    // java.nio.file.Files.exists
    val exists1 = Files.exists(path)
    println("Path exists: $exists1")
    
    // java.io.File.exists
    val file = File("example.txt")
    val exists2 = file.exists()
    println("File exists: $exists2")
}

 

2. 파일 또는 디렉토리 생성

java.nio.file.Files.createFile 함수나 java.nio.file.Files.createDirectory 함수를 사용하여 파일이나 디렉토리를 생성할 수 있습니다.

import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.Paths

fun main() {
    val filePath: Path = Paths.get("newFile.txt")
    val directoryPath: Path = Paths.get("newDirectory")

    // 파일 생성
    Files.createFile(filePath)

    // 디렉토리 생성
    Files.createDirectory(directoryPath)
}

 

3. 파일 또는 디렉토리 삭제

java.nio.file.Files.delete 함수나 java.io.File.delete 함수를 사용하여 파일이나 디렉토리를 삭제할 수 있습니다.

import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.Paths
import java.io.File

fun main() {
    val filePath: Path = Paths.get("fileToDelete.txt")
    val directoryPath: Path = Paths.get("directoryToDelete")

    // 파일 삭제
    Files.delete(filePath)

    // 디렉토리 삭제
    Files.delete(directoryPath)
}

 

4. 파일 또는 디렉토리 이동

java.nio.file.Files.move 함수를 사용하여 파일이나 디렉토리를 이동할 수 있습니다.

import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.Paths

fun main() {
    val sourcePath: Path = Paths.get("source.txt")
    val destinationPath: Path = Paths.get("destination.txt")

    // 파일 이동
    Files.move(sourcePath, destinationPath)
}

 

5. 파일 목록 가져오기

디렉토리 내의 파일 목록을 가져오려면 java.nio.file.Files.list 함수를 사용할 수 있습니다.

import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.Paths

fun main() {
    val directoryPath: Path = Paths.get("myDirectory")

    // 디렉토리 내의 파일 목록 가져오기
    Files.list(directoryPath).forEach { file ->
        println(file.fileName)
    }
}

 

6. 파일 내용 읽기 및 쓰기

파일의 내용을 읽거나 쓰려면 java.nio.file.Files.readAllLines 함수나 java.nio.file.Files.write 함수를 사용할 수 있습니다.

import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.Paths

fun main() {
    val filePath: Path = Paths.get("example.txt")

    // 파일 읽기
    val lines = Files.readAllLines(filePath)
    lines.forEach { println(it) }

    // 파일 쓰기
    val content = "Hello, Kotlin!"
    Files.write(filePath, content.toByteArray())
}

이러한 예제들은 코틀린에서 파일 시스템과 관련된 기본적인 작업을 수행하는 방법을 보여줍니다. 더 복잡한 파일 시스템 작업이나 특정한 사용 사례에 따라서는 추가적인 라이브러리나 기술을 사용할 수 있습니다.

 

With ChatGPT

'Kotlin > 포스팅' 카테고리의 다른 글

코틀린 하위 클래스 선언  (0) 2024.01.02
코틀린 상속  (0) 2024.01.02
코틀린 파일 콘텐츠 접근  (0) 2024.01.01
코틀린 URL 유틸리티  (0) 2024.01.01
코틀린 스트림 생성  (0) 2024.01.01