코틀린에서 파일 시스템과 관련된 작업을 수행하기 위해서는 표준 라이브러리의 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 |